From 633ff9bc54d59dcfdb5e4fe5f6254b1ca5b48924 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Wed, 11 May 2011 16:20:35 -0400 Subject: [PATCH] Add a bunch of edge incidence tests. Add a TODO item reminding myself to finish the edge incidence tests. --- doc/TODO | 2 + src/Tests/Cube.hs | 115 ++++++++++++++++++++++++++++++++++++++++++---- test/TestSuite.hs | 51 ++++++++++++++++++-- 3 files changed, 156 insertions(+), 12 deletions(-) diff --git a/doc/TODO b/doc/TODO index e3e37c8..dbd9a73 100644 --- a/doc/TODO +++ b/doc/TODO @@ -3,3 +3,5 @@ the cube. * Add exact area tests for the remaining tetrahedron. + +* Add the rest of the edge incidence tests. diff --git a/src/Tests/Cube.hs b/src/Tests/Cube.hs index 295eaa6..0f0e926 100644 --- a/src/Tests/Cube.hs +++ b/src/Tests/Cube.hs @@ -467,14 +467,6 @@ prop_c2100_identity2 cube = t1 = tetrahedron1 cube -prop_t0_shares_edge_with_t6 :: Cube -> Bool -prop_t0_shares_edge_with_t6 cube = - (v2 t0) == (v3 t6) && (v3 t0) == (v2 t6) - where - t0 = tetrahedron0 cube - t6 = tetrahedron6 cube - - -- | Given in Sorokina and Zeilfelder, p. 79. prop_c3000_identity :: Cube -> Bool prop_c3000_identity cube = @@ -543,3 +535,110 @@ prop_c1011_identity cube = -- where -- t0 = tetrahedron0 cube -- t1 = tetrahedron1 cube + + +-- Tests to check that the correct edges are incidental. +prop_t0_shares_edge_with_t1 :: Cube -> Bool +prop_t0_shares_edge_with_t1 cube = + (v1 t0) == (v1 t1) && (v3 t0) == (v2 t1) + where + t0 = tetrahedron0 cube + t1 = tetrahedron1 cube + +prop_t0_shares_edge_with_t3 :: Cube -> Bool +prop_t0_shares_edge_with_t3 cube = + (v1 t0) == (v1 t3) && (v2 t0) == (v3 t3) + where + t0 = tetrahedron0 cube + t3 = tetrahedron3 cube + +prop_t0_shares_edge_with_t6 :: Cube -> Bool +prop_t0_shares_edge_with_t6 cube = + (v2 t0) == (v3 t6) && (v3 t0) == (v2 t6) + where + t0 = tetrahedron0 cube + t6 = tetrahedron6 cube + +prop_t1_shares_edge_with_t2 :: Cube -> Bool +prop_t1_shares_edge_with_t2 cube = + (v1 t1) == (v1 t2) && (v3 t1) == (v2 t2) + where + t1 = tetrahedron1 cube + t2 = tetrahedron2 cube + +prop_t1_shares_edge_with_t19 :: Cube -> Bool +prop_t1_shares_edge_with_t19 cube = + (v2 t1) == (v3 t19) && (v3 t1) == (v2 t19) + where + t1 = tetrahedron1 cube + t19 = tetrahedron19 cube + +prop_t2_shares_edge_with_t3 :: Cube -> Bool +prop_t2_shares_edge_with_t3 cube = + (v1 t1) == (v1 t2) && (v3 t1) == (v2 t2) + where + t1 = tetrahedron1 cube + t2 = tetrahedron2 cube + +prop_t2_shares_edge_with_t12 :: Cube -> Bool +prop_t2_shares_edge_with_t12 cube = + (v2 t2) == (v3 t12) && (v3 t2) == (v2 t12) + where + t2 = tetrahedron2 cube + t12 = tetrahedron12 cube + +prop_t3_shares_edge_with_t21 :: Cube -> Bool +prop_t3_shares_edge_with_t21 cube = + (v2 t3) == (v3 t21) && (v3 t3) == (v2 t21) + where + t3 = tetrahedron3 cube + t21 = tetrahedron21 cube + +prop_t4_shares_edge_with_t5 :: Cube -> Bool +prop_t4_shares_edge_with_t5 cube = + (v1 t4) == (v1 t5) && (v3 t4) == (v2 t5) + where + t4 = tetrahedron4 cube + t5 = tetrahedron5 cube + +prop_t4_shares_edge_with_t7 :: Cube -> Bool +prop_t4_shares_edge_with_t7 cube = + (v1 t4) == (v1 t7) && (v2 t4) == (v3 t7) + where + t4 = tetrahedron4 cube + t7 = tetrahedron7 cube + +prop_t4_shares_edge_with_t10 :: Cube -> Bool +prop_t4_shares_edge_with_t10 cube = + (v2 t4) == (v3 t10) && (v3 t4) == (v2 t10) + where + t4 = tetrahedron4 cube + t10 = tetrahedron10 cube + +prop_t5_shares_edge_with_t6 :: Cube -> Bool +prop_t5_shares_edge_with_t6 cube = + (v1 t5) == (v1 t6) && (v3 t5) == (v2 t6) + where + t5 = tetrahedron5 cube + t6 = tetrahedron6 cube + +prop_t5_shares_edge_with_t16 :: Cube -> Bool +prop_t5_shares_edge_with_t16 cube = + (v2 t5) == (v3 t16) && (v3 t5) == (v2 t16) + where + t5 = tetrahedron5 cube + t16 = tetrahedron16 cube + +prop_t6_shares_edge_with_t7 :: Cube -> Bool +prop_t6_shares_edge_with_t7 cube = + (v1 t6) == (v1 t7) && (v3 t6) == (v2 t7) + where + t6 = tetrahedron6 cube + t7 = tetrahedron7 cube + +prop_t7_shares_edge_with_t20 :: Cube -> Bool +prop_t7_shares_edge_with_t20 cube = + (v2 t7) == (v3 t20) && (v2 t7) == (v3 t20) + where + t7 = tetrahedron7 cube + t20 = tetrahedron20 cube diff --git a/test/TestSuite.hs b/test/TestSuite.hs index 4158d99..951899f 100644 --- a/test/TestSuite.hs +++ b/test/TestSuite.hs @@ -197,10 +197,7 @@ main = do putStr "prop_c2100_identity2... " quickCheckWith qc_args TC.prop_c2100_identity2 - putStrLn "\np. 79, (2.8)\n" - - putStr "prop_t0_shares_edge_with_t6... " - quickCheckWith qc_args prop_t0_shares_edge_with_t6 + putStrLn "\np. 79, (2.8)\n" putStr "prop_c3000_identity... " quickCheckWith qc_args TC.prop_c3000_identity @@ -240,6 +237,52 @@ main = do -- putStr "prop_c0300_identity3... " -- quickCheckWith qc_args TF.prop_c0300_identity3 + putStrLn "\nEdge Incidence Tests\n" + + putStr "prop_t0_shares_edge_with_t6... " + quickCheckWith qc_args prop_t0_shares_edge_with_t6 + + putStr "prop_t0_shares_edge_with_t1... " + quickCheckWith qc_args prop_t0_shares_edge_with_t1 + + putStr "prop_t0_shares_edge_with_t3... " + quickCheckWith qc_args prop_t0_shares_edge_with_t3 + + putStr "prop_t1_shares_edge_with_t2... " + quickCheckWith qc_args prop_t1_shares_edge_with_t2 + + putStr "prop_t1_shares_edge_with_t19... " + quickCheckWith qc_args prop_t1_shares_edge_with_t19 + + putStr "prop_t2_shares_edge_with_t3... " + quickCheckWith qc_args prop_t2_shares_edge_with_t3 + + putStr "prop_t2_shares_edge_with_t12... " + quickCheckWith qc_args prop_t2_shares_edge_with_t12 + + putStr "prop_t3_shares_edge_with_t21... " + quickCheckWith qc_args prop_t3_shares_edge_with_t21 + + putStr "prop_t4_shares_edge_with_t5... " + quickCheckWith qc_args prop_t4_shares_edge_with_t5 + + putStr "prop_t4_shares_edge_with_t7... " + quickCheckWith qc_args prop_t4_shares_edge_with_t7 + + putStr "prop_t4_shares_edge_with_t10... " + quickCheckWith qc_args prop_t4_shares_edge_with_t10 + + putStr "prop_t5_shares_edge_with_t6... " + quickCheckWith qc_args prop_t5_shares_edge_with_t6 + + putStr "prop_t5_shares_edge_with_t16... " + quickCheckWith qc_args prop_t5_shares_edge_with_t16 + + putStr "prop_t6_shares_edge_with_t7... " + quickCheckWith qc_args prop_t6_shares_edge_with_t7 + + putStr "prop_t7_shares_edge_with_t20... " + quickCheckWith qc_args prop_t7_shares_edge_with_t20 putStrLn "\nMisc Tests\n" -- 2.43.2