X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FCardinal.hs;h=63cd2e88af962d0e7daddeb57c20fca56769ef71;hb=25e5b7ede93ded8e1ed0fc81f4c3979ff500309d;hp=031dfc2c9c561ea4b3f5cbea51be284be8cbe123;hpb=3f7331f579118687cd73b977ce6aa7d401f88a09;p=spline3.git diff --git a/src/Cardinal.hs b/src/Cardinal.hs index 031dfc2..63cd2e8 100644 --- a/src/Cardinal.hs +++ b/src/Cardinal.hs @@ -9,18 +9,28 @@ -- center of a cube. In addition to those 26 directions, we also -- include the interior point and a number of composite types that -- allow us to perform arithmetic on directions. -module Cardinal +-- +module Cardinal ( + Cardinal(..), + cardinal_properties, + cardinal_tests, + ccwx, + ccwy, + ccwz, + cwx, + cwy, + cwz ) where import Control.Monad (liftM, liftM2) import Prelude hiding (LT) - -import Test.HUnit (Assertion, assertEqual) -import Test.Framework (Test, testGroup) -import Test.Framework.Providers.HUnit (testCase) -import Test.Framework.Providers.QuickCheck2 (testProperty) - -import Test.QuickCheck (Arbitrary(..), Property, (==>), oneof) +import Test.Tasty ( TestTree, testGroup ) +import Test.Tasty.HUnit ( Assertion, assertEqual, testCase ) +import Test.Tasty.QuickCheck ( + Arbitrary( arbitrary ), + Property, (==>), + oneof, + testProperty ) data Cardinal = F -- ^ Front @@ -430,32 +440,66 @@ prop_four_ccwz_is_identity c = (ccwz . ccwz . ccwz . ccwz) c == c -cardinal_tests :: Test.Framework.Test +cardinal_tests :: TestTree cardinal_tests = - testGroup "Cardinal Tests" [ + testGroup "Cardinal tests" [ testCase "c-tilde_2100 rotation correct"test_c_tilde_2100_rotation_correct ] -cardinal_properties :: Test.Framework.Test +cardinal_properties :: TestTree cardinal_properties = - let tp = testProperty - in - testGroup "Cardinal Properties" [ - tp "ccwx rotation changes direction" prop_ccwx_rotation_changes_direction, - tp "cwx rotation changes direction" prop_cwx_rotation_changes_direction, - tp "ccwy rotation changes direction" prop_ccwy_rotation_changes_direction, - tp "cwy rotation changes direction" prop_cwy_rotation_changes_direction, - tp "ccwz rotation changes direction" prop_ccwz_rotation_changes_direction, - tp "cwz rotation changes direction" prop_cwz_rotation_changes_direction, - tp "ccwx rotation result unique" prop_ccwx_rotation_result_unique, - tp "cwx rotation result unique" prop_cwx_rotation_result_unique, - tp "ccwy rotation result unique" prop_ccwy_rotation_result_unique, - tp "cwy rotation result unique" prop_cwy_rotation_result_unique, - tp "ccwz rotation result unique" prop_ccwz_rotation_result_unique, - tp "cwz rotation result unique" prop_cwz_rotation_result_unique, - tp "four cwx is identity" prop_four_cwx_is_identity, - tp "four ccwx is identity" prop_four_ccwx_is_identity, - tp "four cwy is identity" prop_four_cwy_is_identity, - tp "four ccwy is identity" prop_four_ccwy_is_identity, - tp "four cwz is identity" prop_four_cwz_is_identity, - tp "four ccwz is identity" prop_four_ccwz_is_identity ] + testGroup "Cardinal properties" [ + testProperty + "ccwx rotation changes direction" + prop_ccwx_rotation_changes_direction, + testProperty + "cwx rotation changes direction" + prop_cwx_rotation_changes_direction, + testProperty + "ccwy rotation changes direction" + prop_ccwy_rotation_changes_direction, + testProperty + "cwy rotation changes direction" + prop_cwy_rotation_changes_direction, + testProperty + "ccwz rotation changes direction" + prop_ccwz_rotation_changes_direction, + testProperty + "cwz rotation changes direction" + prop_cwz_rotation_changes_direction, + testProperty + "ccwx rotation result unique" + prop_ccwx_rotation_result_unique, + testProperty + "cwx rotation result unique" + prop_cwx_rotation_result_unique, + testProperty + "ccwy rotation result unique" + prop_ccwy_rotation_result_unique, + testProperty + "cwy rotation result unique" + prop_cwy_rotation_result_unique, + testProperty + "ccwz rotation result unique" + prop_ccwz_rotation_result_unique, + testProperty + "cwz rotation result unique" + prop_cwz_rotation_result_unique, + testProperty + "four cwx is identity" + prop_four_cwx_is_identity, + testProperty + "four ccwx is identity" + prop_four_ccwx_is_identity, + testProperty + "four cwy is identity" + prop_four_cwy_is_identity, + testProperty + "four ccwy is identity" + prop_four_ccwy_is_identity, + testProperty + "four cwz is identity" + prop_four_cwz_is_identity, + testProperty + "four ccwz is identity" + prop_four_ccwz_is_identity ]