X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;ds=sidebyside;f=src%2FTests%2FGrid.hs;h=e6bd8d0542058a9aef5f3ae20a40b251e7b59691;hb=7c648d2c1ca966c4ba1dfff08a13100f065d5dbf;hp=fbe8bc1c6a3821f25438f8087fc257e1a3289b3f;hpb=ec2c118022bc46a191ebc323f6be17d4f017fcfb;p=spline3.git 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]