From b6578d25d6c01ae564576b8d2988c87a48d25937 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Tue, 7 Jun 2011 17:01:56 -0400 Subject: [PATCH] Add the prop_interior_values_all_identical test. --- src/Tests/Cube.hs | 34 ++++++++++++++++++++++++++++++++++ test/TestSuite.hs | 3 +++ 2 files changed, 37 insertions(+) diff --git a/src/Tests/Cube.hs b/src/Tests/Cube.hs index aaafa7c..dac4f80 100644 --- a/src/Tests/Cube.hs +++ b/src/Tests/Cube.hs @@ -8,6 +8,7 @@ import Cardinal import Comparisons import Cube import FunctionValues +import Misc (all_equal) import Tests.FunctionValues () import Tetrahedron (b0, b1, b2, b3, c, fv, v0, v1, v2, v3, volume) @@ -540,6 +541,39 @@ prop_c1011_identity cube = +-- | The function values at the interior should be the same for all tetrahedra. +prop_interior_values_all_identical :: Cube -> Bool +prop_interior_values_all_identical cube = + all_equal [i0, i1, i2, i3, i4, i5, i6, i7, i8, + i9, i10, i11, i12, i13, i14, i15, i16, + i17, i18, i19, i20, i21, i22, i23] + where + i0 = eval (Tetrahedron.fv (tetrahedron0 cube)) $ I + i1 = eval (Tetrahedron.fv (tetrahedron1 cube)) $ I + i2 = eval (Tetrahedron.fv (tetrahedron2 cube)) $ I + i3 = eval (Tetrahedron.fv (tetrahedron3 cube)) $ I + i4 = eval (Tetrahedron.fv (tetrahedron4 cube)) $ I + i5 = eval (Tetrahedron.fv (tetrahedron5 cube)) $ I + i6 = eval (Tetrahedron.fv (tetrahedron6 cube)) $ I + i7 = eval (Tetrahedron.fv (tetrahedron7 cube)) $ I + i8 = eval (Tetrahedron.fv (tetrahedron8 cube)) $ I + i9 = eval (Tetrahedron.fv (tetrahedron9 cube)) $ I + i10 = eval (Tetrahedron.fv (tetrahedron10 cube)) $ I + i11 = eval (Tetrahedron.fv (tetrahedron11 cube)) $ I + i12 = eval (Tetrahedron.fv (tetrahedron12 cube)) $ I + i13 = eval (Tetrahedron.fv (tetrahedron13 cube)) $ I + i14 = eval (Tetrahedron.fv (tetrahedron14 cube)) $ I + i15 = eval (Tetrahedron.fv (tetrahedron15 cube)) $ I + i16 = eval (Tetrahedron.fv (tetrahedron16 cube)) $ I + i17 = eval (Tetrahedron.fv (tetrahedron17 cube)) $ I + i18 = eval (Tetrahedron.fv (tetrahedron18 cube)) $ I + i19 = eval (Tetrahedron.fv (tetrahedron19 cube)) $ I + i20 = eval (Tetrahedron.fv (tetrahedron20 cube)) $ I + i21 = eval (Tetrahedron.fv (tetrahedron21 cube)) $ I + i22 = eval (Tetrahedron.fv (tetrahedron22 cube)) $ I + i23 = eval (Tetrahedron.fv (tetrahedron23 cube)) $ I + + -- | We know what (c t6 2 1 0 0) should be from Sorokina and Zeilfelder, p. 87. -- This test checks the rotation works as expected. prop_c_tilde_2100_rotation_correct :: Cube -> Bool diff --git a/test/TestSuite.hs b/test/TestSuite.hs index ee6f0d4..309a13c 100644 --- a/test/TestSuite.hs +++ b/test/TestSuite.hs @@ -238,6 +238,9 @@ main = do -- putStr "prop_c0300_identity3... " -- quickCheckWith qc_args TF.prop_c0300_identity3 + putStrLn "prop_interior_values_all_identical... " + quickCheckWith qc_args prop_interior_values_all_identical + putStrLn "prop_c_tilde_2100_rotation_correct... " quickCheckWith qc_args prop_c_tilde_2100_rotation_correct -- 2.43.2