module TestSuite where import Test.Framework (defaultMain, testGroup, Test, TestName, TestOptions(..)) import Test.Framework.Providers.API (TestName) import Test.Framework.Providers.DocTest import Test.Framework.Providers.HUnit (testCase) import Test.Framework.Providers.QuickCheck2 (testProperty) import Test.HUnit import Test.QuickCheck (Testable ()) import Cardinal (cardinal_tests, cardinal_properties) import Cube (cube_properties) import FunctionValues (function_values_tests, function_values_properties) import Grid (grid_tests, slow_tests) import Misc (misc_tests, misc_properties) import Tetrahedron (tetrahedron_tests, tetrahedron_properties) main :: IO () main = do dt <- docTest ["src/Everything.hs"] ["-isrc"] defaultMain $ [dt] ++ tests -- | Defined so that my test names fit on one line. tc :: Test.Framework.Providers.API.TestName -> Test.HUnit.Assertion -> Test.Framework.Test tc = testCase -- | Defined so that my test names fit on one line. tp :: Test.QuickCheck.Testable a => Test.Framework.TestName -> a -> Test.Framework.Test tp = testProperty tests :: [Test.Framework.Test] tests = [ cardinal_tests, function_values_tests, grid_tests, misc_tests, tetrahedron_tests, cube_properties, tetrahedron_properties, misc_properties, cardinal_properties, slow_tests ]