From: Michael Orlitzky Date: Mon, 4 Jul 2011 17:52:37 +0000 (-0400) Subject: Add tests to ensure that the zero function and a trilinear function are reproduced... X-Git-Tag: 0.0.1~273 X-Git-Url: https://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=c7f62d407f69157610eb66f81426df2efd6ff692;p=spline3.git Add tests to ensure that the zero function and a trilinear function are reproduced correctly. --- diff --git a/src/Tests/Grid.hs b/src/Tests/Grid.hs index fbe8bc1..e6bd8d0 100644 --- a/src/Tests/Grid.hs +++ b/src/Tests/Grid.hs @@ -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]