From e81be702ecf9a92e2c430d283b16b12987e03b81 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sun, 8 May 2011 03:13:09 -0400 Subject: [PATCH] Re-enable all of the tests for (2.7). --- src/Tests/Cube.hs | 79 +++++++++++++++++++++++++++++++++++++++++++++++ src/Tests/Face.hs | 63 ------------------------------------- test/TestSuite.hs | 26 ++++++++-------- 3 files changed, 92 insertions(+), 76 deletions(-) diff --git a/src/Tests/Cube.hs b/src/Tests/Cube.hs index 666fde8..2bdda66 100644 --- a/src/Tests/Cube.hs +++ b/src/Tests/Cube.hs @@ -341,6 +341,85 @@ prop_c2100_identity1 cube = +-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and +-- fourth indices of c-t1 have been switched. This is because we +-- store the triangles oriented such that their volume is +-- positive. If T and T-tilde share and v2,v2-tilde point +-- in opposite directions, one of them has to have negative volume! +prop_c0102_identity1 :: Cube -> Bool +prop_c0102_identity1 cube = + c t0 0 1 0 2 ~= (c t0 0 0 1 2 + c t1 0 0 2 1) / 2 + where + t0 = tetrahedron0 cube + t1 = tetrahedron1 cube + + +-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and +-- fourth indices of c-t1 have been switched. This is because we +-- store the triangles oriented such that their volume is +-- positive. If T and T-tilde share and v2,v2-tilde point +-- in opposite directions, one of them has to have negative volume! +prop_c0201_identity1 :: Cube -> Bool +prop_c0201_identity1 cube = + c t0 0 2 0 1 ~= (c t0 0 1 1 1 + c t1 0 1 1 1) / 2 + where + t0 = tetrahedron0 cube + t1 = tetrahedron1 cube + + +-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and +-- fourth indices of c-t1 have been switched. This is because we +-- store the triangles oriented such that their volume is +-- positive. If T and T-tilde share and v2,v2-tilde point +-- in opposite directions, one of them has to have negative volume! +prop_c0300_identity2 :: Cube -> Bool +prop_c0300_identity2 cube = + c t0 0 3 0 0 ~= (c t0 0 2 1 0 + c t1 0 2 0 1) / 2 + where + t0 = tetrahedron0 cube + t1 = tetrahedron1 cube + + +-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and +-- fourth indices of c-t1 have been switched. This is because we +-- store the triangles oriented such that their volume is +-- positive. If T and T-tilde share and v2,v2-tilde point +-- in opposite directions, one of them has to have negative volume! +prop_c1101_identity :: Cube -> Bool +prop_c1101_identity cube = + c t0 1 1 0 1 ~= (c t0 1 0 1 1 + c t1 1 0 1 1) / 2 + where + t0 = tetrahedron0 cube + t1 = tetrahedron1 cube + + +-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and +-- fourth indices of c-t1 have been switched. This is because we +-- store the triangles oriented such that their volume is +-- positive. If T and T-tilde share and v2,v2-tilde point +-- in opposite directions, one of them has to have negative volume! +prop_c1200_identity2 :: Cube -> Bool +prop_c1200_identity2 cube = + c t0 1 2 0 0 ~= (c t0 1 1 1 0 + c t1 1 1 0 1) / 2 + where + t0 = tetrahedron0 cube + t1 = tetrahedron1 cube + + +-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and +-- fourth indices of c-t1 have been switched. This is because we +-- store the triangles oriented such that their volume is +-- positive. If T and T-tilde share and v2,v2-tilde point +-- in opposite directions, one of them has to have negative volume! +prop_c2100_identity2 :: Cube -> Bool +prop_c2100_identity2 cube = + c t0 2 1 0 0 ~= (c t0 2 0 1 0 + c t1 2 0 0 1) / 2 + where + t0 = tetrahedron0 cube + t1 = tetrahedron1 cube + + + -- | Given in Sorokina and Zeilfelder, p. 78. -- prop_cijk1_identity :: Cube -> Bool -- prop_cijk1_identity cube = diff --git a/src/Tests/Face.hs b/src/Tests/Face.hs index 7c2db0f..eaf5b43 100644 --- a/src/Tests/Face.hs +++ b/src/Tests/Face.hs @@ -5,69 +5,6 @@ where --- -- | Given in Sorokina and Zeilfelder, p. 79. --- prop_c0102_identity1 :: Cube -> Bool --- prop_c0102_identity1 cube = --- c t0' 0 1 0 2 ~= (c t0' 0 0 1 2 + c t3' 0 0 1 2) / 2 --- where --- t0 = tetrahedron0 (face0 cube) --- t3 = tetrahedron3 (face0 cube) --- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0) --- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3) - - --- -- | Given in Sorokina and Zeilfelder, p. 79. --- prop_c0201_identity1 :: Cube -> Bool --- prop_c0201_identity1 cube = --- c t0' 0 2 0 1 ~= (c t0' 0 1 1 1 + c t3' 0 1 1 1) / 2 --- where --- t0 = tetrahedron0 (face0 cube) --- t3 = tetrahedron3 (face0 cube) --- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0) --- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3) - - --- -- | Given in Sorokina and Zeilfelder, p. 79. --- prop_c0300_identity2 :: Cube -> Bool --- prop_c0300_identity2 cube = --- c t0' 3 0 0 0 ~= (c t0' 0 2 1 0 + c t3' 0 2 1 0) / 2 --- where --- t0 = tetrahedron0 (face0 cube) --- t3 = tetrahedron3 (face0 cube) --- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0) --- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3) - --- -- | Given in Sorokina and Zeilfelder, p. 79. --- prop_c1101_identity :: Cube -> Bool --- prop_c1101_identity cube = --- c t0' 1 1 0 1 ~= (c t0' 1 1 0 1 + c t3' 1 1 0 1) / 2 --- where --- t0 = tetrahedron0 (face0 cube) --- t3 = tetrahedron3 (face0 cube) --- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0) --- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3) - - --- -- | Given in Sorokina and Zeilfelder, p. 79. --- prop_c1200_identity2 :: Cube -> Bool --- prop_c1200_identity2 cube = --- c t0' 1 1 1 0 ~= (c t0' 1 1 1 0 + c t3' 1 1 1 0) / 2 --- where --- t0 = tetrahedron0 (face0 cube) --- t3 = tetrahedron3 (face0 cube) --- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0) --- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3) - - --- -- | Given in Sorokina and Zeilfelder, p. 79. --- prop_c2100_identity2 :: Cube -> Bool --- prop_c2100_identity2 cube = --- c t0' 2 1 0 0 ~= (c t0' 2 0 1 0 + c t3' 2 0 1 0) / 2 --- where --- t0 = tetrahedron0 (face0 cube) --- t3 = tetrahedron3 (face0 cube) --- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0) --- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3) -- -- | Given in Sorokina and Zeilfelder, p. 79. diff --git a/test/TestSuite.hs b/test/TestSuite.hs index 0e0055d..31e2426 100644 --- a/test/TestSuite.hs +++ b/test/TestSuite.hs @@ -160,25 +160,25 @@ main = do putStr "prop_c2100_identity1... " quickCheckWith qc_args TC.prop_c2100_identity1 - -- putStrLn "\np. 79, (2.7)\n" + putStrLn "\np. 79, (2.7)\n" - -- putStr "prop_c0102_identity1... " - -- quickCheckWith qc_args TF.prop_c0102_identity1 + putStr "prop_c0102_identity1... " + quickCheckWith qc_args TC.prop_c0102_identity1 - -- putStr "prop_c0201_identity1... " - -- quickCheckWith qc_args TF.prop_c0201_identity1 + putStr "prop_c0201_identity1... " + quickCheckWith qc_args TC.prop_c0201_identity1 - -- putStr "prop_c0300_identity2... " - -- quickCheckWith qc_args TF.prop_c0300_identity2 + putStr "prop_c0300_identity2... " + quickCheckWith qc_args TC.prop_c0300_identity2 - -- putStr "prop_c1101_identity... " - -- quickCheckWith qc_args TF.prop_c1101_identity + putStr "prop_c1101_identity... " + quickCheckWith qc_args TC.prop_c1101_identity - -- putStr "prop_c1200_identity2... " - -- quickCheckWith qc_args TF.prop_c1200_identity2 + putStr "prop_c1200_identity2... " + quickCheckWith qc_args TC.prop_c1200_identity2 - -- putStr "prop_c2100_identity2... " - -- quickCheckWith qc_args TF.prop_c2100_identity2 + putStr "prop_c2100_identity2... " + quickCheckWith qc_args TC.prop_c2100_identity2 -- putStrLn "\np. 79, (2.8)\n" -- 2.43.2