]> gitweb.michael.orlitzky.com - spline3.git/blobdiff - src/Tests/Cube.hs
Split the exact volume test into seven separate ones.
[spline3.git] / src / Tests / Cube.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.