úΧTGenerate the usual code and extract the usual functions needed in order to run HUnit Quickcheck Quickcheck2. B All functions beginning with case_ or prop_ 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] ‚will automagically extract prop_Reverse, case_Foo and case_Bar 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]  0 Properties Test Cases Total / Passed 1 2 3 0 Failed 0 0 0 % Total 1 1 3 WGenerate the usual code and extract the usual functions needed for a testGroup in HUnit Quickcheck Quickcheck2. B All functions beginning with case_ or prop_ 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.1Test.Framework.THdefaultMainGeneratortestGroupGenerator listGeneratorpropListGeneratorcaseListGenerator applyNameFixfixNamereplace