X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTests%2FCardinal.hs;fp=src%2FTests%2FCardinal.hs;h=907e3d9968ad8fbb838c922f24a6bccd201fe76f;hb=1cd046dec9888b04b8687759282880194117736e;hp=cf1be4effc8fabb2a613b3f177e462050e133526;hpb=9a3a3a8596fd2b87f19d6d904d564fd1c7fe706f;p=spline3.git diff --git a/src/Tests/Cardinal.hs b/src/Tests/Cardinal.hs index cf1be4e..907e3d9 100644 --- a/src/Tests/Cardinal.hs +++ b/src/Tests/Cardinal.hs @@ -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