]> gitweb.michael.orlitzky.com - spline3.git/commitdiff
Add tests to ensure that the zero function and a trilinear function are reproduced...
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 4 Jul 2011 17:52:37 +0000 (13:52 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 4 Jul 2011 17:52:37 +0000 (13:52 -0400)
src/Tests/Grid.hs

index fbe8bc1c6a3821f25438f8087fc257e1a3289b3f..e6bd8d0542058a9aef5f3ae20a40b251e7b59691 100644 (file)
@@ -6,8 +6,10 @@ import Test.HUnit
 import Test.QuickCheck
 
 import Assertions
+import Comparisons
 import Cube
 import Examples
+import FunctionValues (value_at)
 import Grid
 import Tetrahedron
 
@@ -307,6 +309,40 @@ test_trilinear_f0_t0_v3 =
         t = tetrahedron0 cube
 
 
+test_trilinear_reproduced :: Test
+test_trilinear_reproduced =
+    TestCase $ assertTrue "trilinears are reproduced correctly" $
+             and [p (i', j', k') ~= value_at trilinear i j k
+                    | i <- [0..2],
+                      j <- [0..2],
+                      k <- [0..2],
+                      let i' = fromIntegral i,
+                      let j' = fromIntegral j,
+                      let k' = fromIntegral k]
+    where
+      g = make_grid 1 trilinear
+      c0 = fromJust $ cube_at g 1 1 1
+      t0 = tetrahedron0 c0
+      p = polynomial t0
+
+
+test_zeros_reproduced :: Test
+test_zeros_reproduced =
+    TestCase $ assertTrue "the zero function is reproduced correctly" $
+             and [p (i', j', k') ~= value_at zeros i j k
+                    | i <- [0..2],
+                      j <- [0..2],
+                      k <- [0..2],
+                      let i' = fromIntegral i,
+                      let j' = fromIntegral j,
+                      let k' = fromIntegral k]
+    where
+      g = make_grid 1 zeros
+      c0 = fromJust $ cube_at g 1 1 1
+      t0 = tetrahedron0 c0
+      p = polynomial t0
+
+
 -- | A list of all HUnit tests defined in this module.
 grid_tests :: [Test]
 grid_tests =
@@ -333,4 +369,6 @@ grid_tests =
      test_trilinear_f0_t0_v0,
      test_trilinear_f0_t0_v1,
      test_trilinear_f0_t0_v2,
-     test_trilinear_f0_t0_v3]
+     test_trilinear_f0_t0_v3,
+     test_trilinear_reproduced,
+     test_zeros_reproduced]