This function generates a TestTree from functions in the current module. The test tree is named after the current module.
The following definitions are collected by testGroupGenerator:
a test_something definition in the current module creates a sub-testGroup with the name "something"
a prop_something definition in the current module is added as a QuickCheck property named "something"
a case_something definition leads to a HUnit-Assertion test with the name "something"
Example usage:
prop_example :: Int -> Int -> Bool
prop_example a b = a + b == b + a
tests :: TestTree
tests = $(testGroupGenerator)