From 280b105ba17ce58bfa79815d6ac07410f5ca0501 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 7 May 2011 13:41:02 -0400 Subject: [PATCH] Split the exact volume test into seven separate ones. --- src/Tests/Cube.hs | 70 ++++++++++++++++++++++++++++++++++++++++++++--- test/TestSuite.hs | 28 +++++++++++++++++-- 2 files changed, 92 insertions(+), 6 deletions(-) diff --git a/src/Tests/Cube.hs b/src/Tests/Cube.hs index b788884..275681b 100644 --- a/src/Tests/Cube.hs +++ b/src/Tests/Cube.hs @@ -38,11 +38,73 @@ prop_all_volumes_positive c = -- | In fact, since all of the tetrahedra are identical, we should -- already know their volumes. There's 24 tetrahedra to a cube, so -- we'd expect the volume of each one to be (1/24)*h^3. -prop_all_volumes_exact :: Cube -> Bool -prop_all_volumes_exact c = - volume t ~= (1/24)*(delta^(3::Int)) +prop_tetrahedron0_volumes_exact :: Cube -> Bool +prop_tetrahedron0_volumes_exact c = + volume (tetrahedron0 c) ~= (1/24)*(delta^(3::Int)) + where + delta = h c + +-- | In fact, since all of the tetrahedra are identical, we should +-- already know their volumes. There's 24 tetrahedra to a cube, so +-- we'd expect the volume of each one to be (1/24)*h^3. +prop_tetrahedron1_volumes_exact :: Cube -> Bool +prop_tetrahedron1_volumes_exact c = + volume (tetrahedron1 c) ~= (1/24)*(delta^(3::Int)) + where + delta = h c + +-- | In fact, since all of the tetrahedra are identical, we should +-- already know their volumes. There's 24 tetrahedra to a cube, so +-- we'd expect the volume of each one to be (1/24)*h^3. +prop_tetrahedron2_volumes_exact :: Cube -> Bool +prop_tetrahedron2_volumes_exact c = + volume (tetrahedron2 c) ~= (1/24)*(delta^(3::Int)) + where + delta = h c + +-- | In fact, since all of the tetrahedra are identical, we should +-- already know their volumes. There's 24 tetrahedra to a cube, so +-- we'd expect the volume of each one to be (1/24)*h^3. +prop_tetrahedron3_volumes_exact :: Cube -> Bool +prop_tetrahedron3_volumes_exact c = + volume (tetrahedron3 c) ~= (1/24)*(delta^(3::Int)) + where + delta = h c + +-- | In fact, since all of the tetrahedra are identical, we should +-- already know their volumes. There's 24 tetrahedra to a cube, so +-- we'd expect the volume of each one to be (1/24)*h^3. +prop_tetrahedron4_volumes_exact :: Cube -> Bool +prop_tetrahedron4_volumes_exact c = + volume (tetrahedron4 c) ~= (1/24)*(delta^(3::Int)) + where + delta = h c + +-- | In fact, since all of the tetrahedra are identical, we should +-- already know their volumes. There's 24 tetrahedra to a cube, so +-- we'd expect the volume of each one to be (1/24)*h^3. +prop_tetrahedron5_volumes_exact :: Cube -> Bool +prop_tetrahedron5_volumes_exact c = + volume (tetrahedron5 c) ~= (1/24)*(delta^(3::Int)) + where + delta = h c + +-- | In fact, since all of the tetrahedra are identical, we should +-- already know their volumes. There's 24 tetrahedra to a cube, so +-- we'd expect the volume of each one to be (1/24)*h^3. +prop_tetrahedron6_volumes_exact :: Cube -> Bool +prop_tetrahedron6_volumes_exact c = + volume (tetrahedron6 c) ~= (1/24)*(delta^(3::Int)) + where + delta = h c + +-- | In fact, since all of the tetrahedra are identical, we should +-- already know their volumes. There's 24 tetrahedra to a cube, so +-- we'd expect the volume of each one to be (1/24)*h^3. +prop_tetrahedron7_volumes_exact :: Cube -> Bool +prop_tetrahedron7_volumes_exact c = + volume (tetrahedron7 c) ~= (1/24)*(delta^(3::Int)) where - t = head $ tetrahedrons c delta = h c -- | All tetrahedron should have their v0 located at the center of the cube. diff --git a/test/TestSuite.hs b/test/TestSuite.hs index 3e958e1..57988c3 100644 --- a/test/TestSuite.hs +++ b/test/TestSuite.hs @@ -27,8 +27,32 @@ main = do putStr "prop_all_volumes_positive... " quickCheckWith qc_args prop_all_volumes_positive - putStr "prop_all_volumes_exact... " - quickCheckWith qc_args prop_all_volumes_exact + putStr "prop_tetrahedron0_volumes_exact... " + quickCheckWith qc_args prop_tetrahedron0_volumes_exact + + putStr "prop_tetrahedron1_volumes_exact... " + quickCheckWith qc_args prop_tetrahedron1_volumes_exact + + putStr "prop_tetrahedron2_volumes_exact... " + quickCheckWith qc_args prop_tetrahedron2_volumes_exact + + putStr "prop_tetrahedron3_volumes_exact... " + quickCheckWith qc_args prop_tetrahedron3_volumes_exact + + putStr "prop_tetrahedron4_volumes_exact... " + quickCheckWith qc_args prop_tetrahedron4_volumes_exact + + putStr "prop_tetrahedron4_volumes_exact... " + quickCheckWith qc_args prop_tetrahedron4_volumes_exact + + putStr "prop_tetrahedron5_volumes_exact... " + quickCheckWith qc_args prop_tetrahedron5_volumes_exact + + putStr "prop_tetrahedron6_volumes_exact... " + quickCheckWith qc_args prop_tetrahedron6_volumes_exact + + putStr "prop_tetrahedron7_volumes_exact... " + quickCheckWith qc_args prop_tetrahedron7_volumes_exact putStr "prop_tetrahedron0_volumes_positive... " quickCheckWith qc_args prop_tetrahedron0_volumes_positive -- 2.43.2