]> gitweb.michael.orlitzky.com - spline3.git/commitdiff
Add some tests to check that four rotations in one direction is the identity rotation.
authorMichael Orlitzky <michael@orlitzky.com>
Sat, 7 May 2011 20:05:31 +0000 (16:05 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sat, 7 May 2011 20:05:31 +0000 (16:05 -0400)
src/Tests/Cardinal.hs

index cf1be4effc8fabb2a613b3f177e462050e133526..907e3d9968ad8fbb838c922f24a6bccd201fe76f 100644 (file)
@@ -61,3 +61,45 @@ prop_cwx_rotation_changes_direction c =
     c `elem` [L, R, D, T, FL, FR, FD, FT, BL, BR, BD, BT, LD, LT,
                RD, RT, FLD, FLT, FRD, FRT, BLD, BLT, BRD, BRT]
           ==> cwx c /= c
+
+-- | If you rotate a cardinal direction four times in the clockwise
+--   (with respect to x) direction, you should wind up with the same
+--   direction.
+prop_four_cwx_is_identity :: Cardinal -> Bool
+prop_four_cwx_is_identity c =
+    (cwx . cwx . cwx . cwx) c == c
+
+-- | If you rotate a cardinal direction four times in the
+--   counter-clockwise (with respect to x) direction, you should wind up
+--   with the same direction.
+prop_four_ccwx_is_identity :: Cardinal -> Bool
+prop_four_ccwx_is_identity c =
+    (ccwx . ccwx . ccwx . ccwx) c == c
+
+-- | If you rotate a cardinal direction four times in the clockwise
+--   (with respect to y) direction, you should wind up with the same
+--   direction.
+prop_four_cwy_is_identity :: Cardinal -> Bool
+prop_four_cwy_is_identity c =
+    (cwy . cwy . cwy . cwy) c == c
+
+-- | If you rotate a cardinal direction four times in the counter-clockwise
+--   (with respect to y) direction, you should wind up with the same
+--   direction.
+prop_four_ccwy_is_identity :: Cardinal -> Bool
+prop_four_ccwy_is_identity c =
+    (ccwy . ccwy . ccwy . ccwy) c == c
+
+-- | If you rotate a cardinal direction four times in the clockwise
+--   (with respect to z) direction, you should wind up with the same
+--   direction.
+prop_four_cwz_is_identity :: Cardinal -> Bool
+prop_four_cwz_is_identity c =
+    (cwz . cwz . cwz . cwz) c == c
+
+-- | If you rotate a cardinal direction four times in the
+--   counter-clockwise (with respect to z) direction, you should wind up
+--   with the same direction.
+prop_four_ccwz_is_identity :: Cardinal -> Bool
+prop_four_ccwz_is_identity c =
+    (ccwz . ccwz . ccwz . ccwz) c == c