X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTests%2FTetrahedron.hs;h=159acd7f95bdb11a4a583c994fcd7a0ed350a2ee;hb=ea92f7319ba4350715e2397928def15f574d9d8c;hp=bafb7fe2e5a9afdb793df41930d84cd4cd21f566;hpb=6753d25156abb39ec68b715782b49f525e70b991;p=spline3.git diff --git a/src/Tests/Tetrahedron.hs b/src/Tests/Tetrahedron.hs index bafb7fe..159acd7 100644 --- a/src/Tests/Tetrahedron.hs +++ b/src/Tests/Tetrahedron.hs @@ -4,6 +4,7 @@ where import Test.HUnit import Test.QuickCheck +import Cardinal import Comparisons import Point import FunctionValues @@ -308,3 +309,60 @@ prop_c1110_identity t = term2 = (9/2)*(p t 1 1 1 0) term3 = (3/4)*((p t 2 1 0 0) + (p t 1 2 0 0) + (p t 2 0 1 0)) term4 = (3/4)*((p t 1 0 2 0) + (p t 0 2 1 0) + (p t 0 1 2 0)) + +prop_x_rotation_doesnt_affect_front :: Tetrahedron -> Bool +prop_x_rotation_doesnt_affect_front t = + expr1 == expr2 + where + fv0 = Tetrahedron.fv t + fv1 = rotate (Tetrahedron.fv t) cwx + expr1 = front $ fv0 + expr2 = front $ fv1 + +prop_x_rotation_doesnt_affect_back :: Tetrahedron -> Bool +prop_x_rotation_doesnt_affect_back t = + expr1 == expr2 + where + fv0 = Tetrahedron.fv t + fv1 = rotate (Tetrahedron.fv t) cwx + expr1 = back $ fv0 + expr2 = back $ fv1 + + +prop_y_rotation_doesnt_affect_left :: Tetrahedron -> Bool +prop_y_rotation_doesnt_affect_left t = + expr1 == expr2 + where + fv0 = Tetrahedron.fv t + fv1 = rotate (Tetrahedron.fv t) cwy + expr1 = left $ fv0 + expr2 = left $ fv1 + +prop_y_rotation_doesnt_affect_right :: Tetrahedron -> Bool +prop_y_rotation_doesnt_affect_right t = + expr1 == expr2 + where + fv0 = Tetrahedron.fv t + fv1 = rotate (Tetrahedron.fv t) cwy + expr1 = right $ fv0 + expr2 = right $ fv1 + + +prop_z_rotation_doesnt_affect_down :: Tetrahedron -> Bool +prop_z_rotation_doesnt_affect_down t = + expr1 == expr2 + where + fv0 = Tetrahedron.fv t + fv1 = rotate (Tetrahedron.fv t) cwz + expr1 = down $ fv0 + expr2 = down $ fv1 + + +prop_z_rotation_doesnt_affect_top :: Tetrahedron -> Bool +prop_z_rotation_doesnt_affect_top t = + expr1 == expr2 + where + fv0 = Tetrahedron.fv t + fv1 = rotate (Tetrahedron.fv t) cwz + expr1 = top $ fv0 + expr2 = top $ fv1