]> gitweb.michael.orlitzky.com - spline3.git/commitdiff
Replace individual tetrahedron volume tests with combined ones.
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 22 Aug 2011 18:02:49 +0000 (14:02 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 22 Aug 2011 18:02:49 +0000 (14:02 -0400)
src/Tests/Cube.hs
test/TestSuite.hs

index 78e8e1a82c8a74411880b466c22d9d3007c15538..46b2530ab82053fae93fcf68de6e839ed8cf6304 100644 (file)
@@ -30,217 +30,9 @@ prop_all_volumes_positive cube =
 -- | 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_tetrahedron0_volumes_exact :: Cube -> Bool
-prop_tetrahedron0_volumes_exact cube =
-    volume (tetrahedron0 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
-
--- | 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 cube =
-    volume (tetrahedron1 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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 cube =
-    volume (tetrahedron2 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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 cube =
-    volume (tetrahedron3 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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 cube =
-    volume (tetrahedron4 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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 cube =
-    volume (tetrahedron5 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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 cube =
-    volume (tetrahedron6 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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 cube =
-    volume (tetrahedron7 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron8_volumes_exact :: Cube -> Bool
-prop_tetrahedron8_volumes_exact cube =
-    volume (tetrahedron8 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron9_volumes_exact :: Cube -> Bool
-prop_tetrahedron9_volumes_exact cube =
-    volume (tetrahedron9 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron10_volumes_exact :: Cube -> Bool
-prop_tetrahedron10_volumes_exact cube =
-    volume (tetrahedron10 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron11_volumes_exact :: Cube -> Bool
-prop_tetrahedron11_volumes_exact cube =
-    volume (tetrahedron11 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron12_volumes_exact :: Cube -> Bool
-prop_tetrahedron12_volumes_exact cube =
-    volume (tetrahedron12 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron13_volumes_exact :: Cube -> Bool
-prop_tetrahedron13_volumes_exact cube =
-    volume (tetrahedron13 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron14_volumes_exact :: Cube -> Bool
-prop_tetrahedron14_volumes_exact cube =
-    volume (tetrahedron14 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron15_volumes_exact :: Cube -> Bool
-prop_tetrahedron15_volumes_exact cube =
-    volume (tetrahedron15 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron16_volumes_exact :: Cube -> Bool
-prop_tetrahedron16_volumes_exact cube =
-    volume (tetrahedron16 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron17_volumes_exact :: Cube -> Bool
-prop_tetrahedron17_volumes_exact cube =
-    volume (tetrahedron17 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron18_volumes_exact :: Cube -> Bool
-prop_tetrahedron18_volumes_exact cube =
-    volume (tetrahedron18 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron19_volumes_exact :: Cube -> Bool
-prop_tetrahedron19_volumes_exact cube =
-    volume (tetrahedron19 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron20_volumes_exact :: Cube -> Bool
-prop_tetrahedron20_volumes_exact cube =
-    volume (tetrahedron20 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron21_volumes_exact :: Cube -> Bool
-prop_tetrahedron21_volumes_exact cube =
-    volume (tetrahedron21 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron22_volumes_exact :: Cube -> Bool
-prop_tetrahedron22_volumes_exact cube =
-    volume (tetrahedron22 cube) ~~= (1/24)*(delta^(3::Int))
-    where
-      delta = h cube
-
--- | 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_tetrahedron23_volumes_exact :: Cube -> Bool
-prop_tetrahedron23_volumes_exact cube =
-    volume (tetrahedron23 cube) ~~= (1/24)*(delta^(3::Int))
+prop_all_volumes_exact :: Cube -> Bool
+prop_all_volumes_exact cube =
+    and [volume t ~~= (1/24)*(delta^(3::Int)) | t <- tetrahedra cube]
     where
       delta = h cube
 
index a39f5685be3ec0c92ab7d759b010feb5c14f47ff..e7267da0fae6709c9111074326f288851b235274 100644 (file)
@@ -189,30 +189,7 @@ cube_properties :: Test.Framework.Test
 cube_properties =
     testGroup "Cube Properties" [
   tp "all volumes positive" prop_all_volumes_positive,
-  tp "tetrahedron0 volumes exact" prop_tetrahedron0_volumes_exact,  
-  tp "tetrahedron1 volumes exact" prop_tetrahedron1_volumes_exact,
-  tp "tetrahedron2 volumes exact" prop_tetrahedron2_volumes_exact,
-  tp "tetrahedron3 volumes exact" prop_tetrahedron3_volumes_exact,
-  tp "tetrahedron4 volumes exact" prop_tetrahedron4_volumes_exact,
-  tp "tetrahedron5 volumes exact" prop_tetrahedron5_volumes_exact,
-  tp "tetrahedron6 volumes exact" prop_tetrahedron6_volumes_exact,
-  tp "tetrahedron7 volumes exact" prop_tetrahedron7_volumes_exact,
-  tp "tetrahedron8 volumes exact" prop_tetrahedron8_volumes_exact,
-  tp "tetrahedron9 volumes exact" prop_tetrahedron9_volumes_exact,
-  tp "tetrahedron10 volumes exact" prop_tetrahedron10_volumes_exact,
-  tp "tetrahedron11 volumes exact" prop_tetrahedron11_volumes_exact,
-  tp "tetrahedron12 volumes exact" prop_tetrahedron12_volumes_exact,
-  tp "tetrahedron13 volumes exact" prop_tetrahedron13_volumes_exact,
-  tp "tetrahedron14 volumes exact" prop_tetrahedron14_volumes_exact,
-  tp "tetrahedron15 volumes exact" prop_tetrahedron15_volumes_exact,
-  tp "tetrahedron16 volumes exact" prop_tetrahedron16_volumes_exact,
-  tp "tetrahedron17 volumes exact" prop_tetrahedron17_volumes_exact,
-  tp "tetrahedron18 volumes exact" prop_tetrahedron18_volumes_exact,
-  tp "tetrahedron19 volumes exact" prop_tetrahedron19_volumes_exact,
-  tp "tetrahedron20 volumes exact" prop_tetrahedron20_volumes_exact,
-  tp "tetrahedron21 volumes exact" prop_tetrahedron21_volumes_exact,
-  tp "tetrahedron22 volumes exact" prop_tetrahedron22_volumes_exact,
-  tp "tetrahedron23 volumes exact" prop_tetrahedron23_volumes_exact,
+  tp "all volumes exact" prop_all_volumes_exact,
   tp "tetrahedron0 volumes positive" prop_tetrahedron0_volumes_positive,
   tp "tetrahedron1 volumes positive" prop_tetrahedron1_volumes_positive,
   tp "tetrahedron2 volumes positive" prop_tetrahedron2_volumes_positive,