]> gitweb.michael.orlitzky.com - spline3.git/commitdiff
Split the exact volume test into seven separate ones.
authorMichael Orlitzky <michael@orlitzky.com>
Sat, 7 May 2011 17:41:02 +0000 (13:41 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sat, 7 May 2011 17:41:02 +0000 (13:41 -0400)
src/Tests/Cube.hs
test/TestSuite.hs

index b78888434d7cfc03a2956c2e30b8b06509dc853d..275681b92582a7ff8fe37f57d51b5c2e1b822b53 100644 (file)
@@ -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.
index 3e958e1f5895842bf79eb8ecc634ae76ff1aa30a..57988c35bafc16e7bea6657b80201b9a83adadfa 100644 (file)
@@ -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