]> gitweb.michael.orlitzky.com - spline3.git/blobdiff - src/Tests/Cube.hs
Re-enable all of the tests for (2.7).
[spline3.git] / src / Tests / Cube.hs
index 666fde8899c168f85b061430ce06f5ee3ca93e1f..2bdda665ab2032feabc12485309c3d4969a8f4e4 100644 (file)
@@ -341,6 +341,85 @@ prop_c2100_identity1 cube =
 
 
 
+-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and
+--   fourth indices of c-t1 have been switched. This is because we
+--   store the triangles oriented such that their volume is
+--   positive. If T and T-tilde share <v0,v1,v3> and v2,v2-tilde point
+--   in opposite directions, one of them has to have negative volume!
+prop_c0102_identity1 :: Cube -> Bool
+prop_c0102_identity1 cube =
+    c t0 0 1 0 2 ~= (c t0 0 0 1 2 + c t1 0 0 2 1) / 2
+      where
+        t0 = tetrahedron0 cube
+        t1 = tetrahedron1 cube
+
+
+-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and
+--   fourth indices of c-t1 have been switched. This is because we
+--   store the triangles oriented such that their volume is
+--   positive. If T and T-tilde share <v0,v1,v3> and v2,v2-tilde point
+--   in opposite directions, one of them has to have negative volume!
+prop_c0201_identity1 :: Cube -> Bool
+prop_c0201_identity1 cube =
+    c t0 0 2 0 1 ~= (c t0 0 1 1 1 + c t1 0 1 1 1) / 2
+      where
+        t0 = tetrahedron0 cube
+        t1 = tetrahedron1 cube
+
+
+-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and
+--   fourth indices of c-t1 have been switched. This is because we
+--   store the triangles oriented such that their volume is
+--   positive. If T and T-tilde share <v0,v1,v3> and v2,v2-tilde point
+--   in opposite directions, one of them has to have negative volume!
+prop_c0300_identity2 :: Cube -> Bool
+prop_c0300_identity2 cube =
+    c t0 0 3 0 0 ~= (c t0 0 2 1 0 + c t1 0 2 0 1) / 2
+      where
+        t0 = tetrahedron0 cube
+        t1 = tetrahedron1 cube
+
+
+-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and
+--   fourth indices of c-t1 have been switched. This is because we
+--   store the triangles oriented such that their volume is
+--   positive. If T and T-tilde share <v0,v1,v3> and v2,v2-tilde point
+--   in opposite directions, one of them has to have negative volume!
+prop_c1101_identity :: Cube -> Bool
+prop_c1101_identity cube =
+    c t0 1 1 0 1 ~= (c t0 1 0 1 1 + c t1 1 0 1 1) / 2
+      where
+        t0 = tetrahedron0 cube
+        t1 = tetrahedron1 cube
+
+
+-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and
+--   fourth indices of c-t1 have been switched. This is because we
+--   store the triangles oriented such that their volume is
+--   positive. If T and T-tilde share <v0,v1,v3> and v2,v2-tilde point
+--   in opposite directions, one of them has to have negative volume!
+prop_c1200_identity2 :: Cube -> Bool
+prop_c1200_identity2 cube =
+    c t0 1 2 0 0 ~= (c t0 1 1 1 0 + c t1 1 1 0 1) / 2
+      where
+        t0 = tetrahedron0 cube
+        t1 = tetrahedron1 cube
+
+
+-- | Given in Sorokina and Zeilfelder, p. 79. Note that the third and
+--   fourth indices of c-t1 have been switched. This is because we
+--   store the triangles oriented such that their volume is
+--   positive. If T and T-tilde share <v0,v1,v3> and v2,v2-tilde point
+--   in opposite directions, one of them has to have negative volume!
+prop_c2100_identity2 :: Cube -> Bool
+prop_c2100_identity2 cube =
+    c t0 2 1 0 0 ~= (c t0 2 0 1 0 + c t1 2 0 0 1) / 2
+      where
+        t0 = tetrahedron0 cube
+        t1 = tetrahedron1 cube
+
+
+
 -- | Given in Sorokina and Zeilfelder, p. 78.
 -- prop_cijk1_identity :: Cube -> Bool
 -- prop_cijk1_identity cube =