From: Michael Orlitzky Date: Sat, 7 May 2011 17:41:02 +0000 (-0400) Subject: Split the exact volume test into seven separate ones. X-Git-Tag: 0.0.1~325 X-Git-Url: https://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=280b105ba17ce58bfa79815d6ac07410f5ca0501;p=spline3.git Split the exact volume test into seven separate ones. --- 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