úÎF¼NoneTGenerate the usual code and extract the usual functions needed in order to run HUnit Quickcheck Quickcheck2. I All functions beginning with case_, prop_ or test_ will be extracted.  6 {-# OPTIONS_GHC -fglasgow-exts -XTemplateHaskell #-}  module MyModuleTest where  import Test.HUnit  import MainTestGenerator   main = $(defaultMainGenerator)   case_Foo = do 4 @=? 4   case_Bar = do "hej" @=? "hej"  . prop_Reverse xs = reverse (reverse xs) == xs  where types = xs :: [Int]   test_Group =  [ testCase "1" case_Foo % , testProperty "2" prop_Reverse  ] Žwill automagically extract prop_Reverse, case_Foo, case_Bar and test_Group and run them as well as present them as belonging to the testGroup  MyModuleTest such as  me: runghc MyModuleTest.hs  MyModuleTest: # Reverse: [OK, passed 100 tests]  Foo: [OK]  Bar: [OK]  Group:  1: [OK]  2: [OK, passed 100 tests]  0 Properties Test Cases Total / Passed 2 3 5 0 Failed 0 0 0 % Total 2 3 5 WGenerate the usual code and extract the usual functions needed for a testGroup in HUnit Quickcheck Quickcheck2. I All functions beginning with case_, prop_ or test_ will be extracted.   -- file SomeModule.hs & fooTestGroup = $(testGroupGenerator) # main = defaultMain [fooTestGroup]  case_1 = do 1 @=? 1  case_2 = do 2 @=? 2 ( prop_p xs = reverse (reverse xs) == xs  where types = xs :: [Int] is the same as  -- file SoomeModule.hs k fooTestGroup = testGroup "SomeModule" [testProperty "p" prop_1, testCase "1" case_1, testCase "2" case_2] # main = defaultMain [fooTestGroup]  case_1 = do 1 @=? 1  case_2 = do 2 @=? 2 ( prop_1 xs = reverse (reverse xs) == xs  where types = xs :: [Int]  The same as  e.g. n! f -> testProperty (fixName n) f       test-framework-th-0.2.4Test.Framework.THdefaultMainGeneratordefaultMainGenerator2testGroupGenerator applyNameFix listGeneratorpropListGeneratorcaseListGeneratortestListGeneratorfixNamereplace