X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTests%2FCube.hs;h=78e8e1a82c8a74411880b466c22d9d3007c15538;hb=f6d0c289ad3397cf392976c24f3afdb17da5d377;hp=150faef89669de34d7a7b7d0235b827e9587f024;hpb=cc10c04deda3bdf54867a9052b638f0bc4b09fbe;p=spline3.git diff --git a/src/Tests/Cube.hs b/src/Tests/Cube.hs index 150faef..78e8e1a 100644 --- a/src/Tests/Cube.hs +++ b/src/Tests/Cube.hs @@ -2,7 +2,6 @@ module Tests.Cube where import Prelude hiding (LT) -import Test.QuickCheck import Cardinal import Comparisons @@ -13,29 +12,18 @@ import Tests.FunctionValues () import Tetrahedron (b0, b1, b2, b3, c, fv, v0, v1, v2, v3, volume) -instance Arbitrary Cube where - arbitrary = do - (Positive h') <- arbitrary :: Gen (Positive Double) - i' <- choose (coordmin, coordmax) - j' <- choose (coordmin, coordmax) - k' <- choose (coordmin, coordmax) - fv' <- arbitrary :: Gen FunctionValues - return (Cube h' i' j' k' fv') - where - coordmin = -268435456 -- -(2^29 / 2) - coordmax = 268435456 -- +(2^29 / 2) -- Quickcheck tests. --- | Since the grid size is necessarily positive, all tetrahedrons +-- | Since the grid size is necessarily positive, all tetrahedra -- (which comprise cubes of positive volume) must have positive volume -- as well. prop_all_volumes_positive :: Cube -> Bool prop_all_volumes_positive cube = null nonpositive_volumes where - ts = tetrahedrons cube + ts = tetrahedra cube volumes = map volume ts nonpositive_volumes = filter (<= 0) volumes @@ -260,8 +248,8 @@ prop_tetrahedron23_volumes_exact cube = prop_v0_all_equal :: Cube -> Bool prop_v0_all_equal cube = (v0 t0) == (v0 t1) where - t0 = head (tetrahedrons cube) -- Doesn't matter which two we choose. - t1 = head $ tail (tetrahedrons cube) + t0 = head (tetrahedra cube) -- Doesn't matter which two we choose. + t1 = head $ tail (tetrahedra cube) -- | This pretty much repeats the prop_all_volumes_positive property,