-- | 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.
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