-import Test.HUnit
-import Test.QuickCheck.Batch
+import Test.Tasty ( TestTree, defaultMain, localOption, testGroup )
+import Test.Tasty.QuickCheck ( QuickCheckTests(..), QuickCheckMaxRatio(..) )
+import Cidr ( cidr_properties, cidr_tests )
+import IPv4Address ( ipv4address_properties, ipv4address_tests )
+import Octet ( octet_properties, octet_tests )
-import Cidr (cidr_tests,
- prop_all_cidrs_contain_themselves,
- prop_contains_proper_intransitive)
-
-import IPv4Address (ipv4address_tests)
-import Maskable (maskable_tests)
-import Octet (octet_tests)
-
--- The list of HUnit tests.
-test_suite = TestList (concat [cidr_tests,
- ipv4address_tests,
- maskable_tests,
- octet_tests])
-
--- QuickCheck options
-options = TestOptions { no_of_tests = 1000,
- length_of_tests = 0, -- No time limit on tests.
- debug_tests = False }
+tests :: TestTree
+tests = testGroup "All Tests" [
+ cidr_properties,
+ cidr_tests,
+ ipv4address_properties,
+ ipv4address_tests,
+ octet_properties,
+ octet_tests ]
+-- TODO: Run 5000 generated tests, we have a large space.
main :: IO ()
-main = do
- putStrLn "HUnit"
- putStrLn "-----"
- runTestTT test_suite
-
- putStrLn ""
-
- putStrLn "QuickCheck"
- putStrLn "----------"
- runTests "Cidr" options [ run prop_all_cidrs_contain_themselves,
- run prop_contains_proper_intransitive]
+main =
+ defaultMain $
+ localOption (QuickCheckTests 5000) $
+ localOption (QuickCheckMaxRatio 50) tests