X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTests%2FCardinal.hs;h=7d4cfde00df4a1df66c621739d920a688aae3bb7;hb=ecb77f944fcba8c8cfe60ca782bc5d9c8ab68cf9;hp=c3f60e58c274c41555c1f8d4217c9ab890469223;hpb=fa5503e32f29d7258e79744e7b2fc7ee49c923d5;p=spline3.git diff --git a/src/Tests/Cardinal.hs b/src/Tests/Cardinal.hs index c3f60e5..7d4cfde 100644 --- a/src/Tests/Cardinal.hs +++ b/src/Tests/Cardinal.hs @@ -1,61 +1,19 @@ module Tests.Cardinal where -import Control.Monad (liftM, liftM2) import Prelude hiding (LT) import Test.HUnit -import Test.QuickCheck +import Test.QuickCheck (Property, (==>)) import Cardinal - - -instance Arbitrary Cardinal where - arbitrary = oneof [f,b,l,r,d,t,fl,fr,fd,ft,bl,br,bd,bt,ld,lt, - rd,rt,fld,flt,frd,frt,bld,blt,brd,brt,i, - scalar,csum,cdiff,cprod,cquot] - where - f = return F - b = return B - l = return L - r = return R - d = return D - t = return T - fl = return FL - fr = return FR - fd = return FD - ft = return FT - bl = return BL - br = return BR - bd = return BD - bt = return BT - ld = return LD - lt = return LT - rd = return RD - rt = return RT - fld = return FLD - flt = return FLT - frd = return FRD - frt = return FRT - bld = return BLD - blt = return BLT - brd = return BRD - brt = return BRT - i = return I - scalar = liftM Scalar arbitrary - csum = liftM2 Sum arbitrary arbitrary - cdiff = liftM2 Difference arbitrary arbitrary - cprod = liftM2 Product arbitrary arbitrary - cquot = liftM2 Quotient arbitrary arbitrary - - -- | We know what (c t6 2 1 0 0) should be from Sorokina and -- Zeilfelder, p. 87. This test checks that the directions are -- rotated properly. The order of the letters has to be just right -- since I haven't defined a proper Eq instance for Cardinals. -test_c_tilde_2100_rotation_correct :: Test +test_c_tilde_2100_rotation_correct :: Assertion test_c_tilde_2100_rotation_correct = - TestCase $ assertEqual "auto-rotate equals manual rotate" ((ccwz . ccwz . cwy) expr1) expr2 + assertEqual "auto-rotate equals manual rotate" ((ccwz . ccwz . cwy) expr1) expr2 where expr1 = (3/8)*I + @@ -75,9 +33,6 @@ test_c_tilde_2100_rotation_correct = (1/96)*(FL + BR + FR + BL) + (1/192)*(FD + LD + RD + BD) -cardinal_tests :: [Test] -cardinal_tests = [test_c_tilde_2100_rotation_correct] - -- | A list of all directions, sans the interior and composite types. all_directions :: [Cardinal] all_directions = [L, R, F, B, D, T, FL, FR, FD, FT,