X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTests%2FTetrahedron.hs;h=8f838084305df432feaad50f1070bb9c1a2d600b;hb=e8548729a23fff0250e69fb1b3699672413f14c8;hp=3d47862bf638e69aeb8296b3ef1c946b8a44218d;hpb=117bfdb3e54a83a4898fddd45960d6260fe1d8bb;p=spline3.git diff --git a/src/Tests/Tetrahedron.hs b/src/Tests/Tetrahedron.hs index 3d47862..8f83808 100644 --- a/src/Tests/Tetrahedron.hs +++ b/src/Tests/Tetrahedron.hs @@ -82,80 +82,74 @@ tetrahedron2_geometry_tests = contained = contains_point t inner_point --- | Ensure that a tetrahedron does not contain a particular point chosen to --- be outside of it (second test). -test_doesnt_contain_point2 :: Assertion -test_doesnt_contain_point2 = - assertEqual "doesn't contain an exterior point" False contained - where - p0 = (0, 1, 1) - p1 = (1, 1, 1) - p2 = (0.5, 0.5, 1) - p3 = (0.5, 0.5, 0.5) - exterior_point = (0, 0, 0) - t = Tetrahedron { v0 = p0, - v1 = p1, - v2 = p2, - v3 = p3, - fv = empty_values } - contained = contains_point t exterior_point - - --- | Ensure that a tetrahedron does not contain a particular point chosen to --- be outside of it (third test). -test_doesnt_contain_point3 :: Assertion -test_doesnt_contain_point3 = - assertEqual "doesn't contain an exterior point" False contained - where - p0 = (1, 1, 1) - p1 = (1, 0, 1) - p2 = (0.5, 0.5, 1) - p3 = (0.5, 0.5, 0.5) - exterior_point = (0, 0, 0) - t = Tetrahedron { v0 = p0, - v1 = p1, - v2 = p2, - v3 = p3, - fv = empty_values } - contained = contains_point t exterior_point - - --- | Ensure that a tetrahedron does not contain a particular point chosen to --- be outside of it (fourth test). -test_doesnt_contain_point4 :: Assertion -test_doesnt_contain_point4 = - assertEqual "doesn't contain an exterior point" False contained - where - p0 = (1, 0, 1) - p1 = (0, 0, 1) - p2 = (0.5, 0.5, 1) - p3 = (0.5, 0.5, 0.5) - exterior_point = (0, 0, 0) - t = Tetrahedron { v0 = p0, - v1 = p1, - v2 = p2, - v3 = p3, - fv = empty_values } - contained = contains_point t exterior_point - - --- | Ensure that a tetrahedron does not contain a particular point chosen to --- be outside of it (fifth test). -test_doesnt_contain_point5 :: Assertion -test_doesnt_contain_point5 = - assertEqual "doesn't contain an exterior point" False contained - where - p0 = (0, 0, 1) - p1 = (0, 1, 1) - p2 = (0.5, 0.5, 1) - p3 = (0.5, 0.5, 0.5) - exterior_point = (0, 0, 0) - t = Tetrahedron { v0 = p0, - v1 = p1, - v2 = p2, - v3 = p3, - fv = empty_values } - contained = contains_point t exterior_point +-- | Ensure that tetrahedra do not contain a particular point chosen to +-- be outside of them. +containment_tests :: Test.Framework.Test +containment_tests = + testGroup "containment tests" + [ testCase "doesn't contain point2" doesnt_contain_point2, + testCase "doesn't contain point3" doesnt_contain_point3, + testCase "doesn't contain point4" doesnt_contain_point4, + testCase "doesn't contain point5" doesnt_contain_point5] + where + p2 = (0.5, 0.5, 1) + p3 = (0.5, 0.5, 0.5) + exterior_point = (0, 0, 0) + + doesnt_contain_point2 :: Assertion + doesnt_contain_point2 = + assertEqual "doesn't contain an exterior point" False contained + where + p0 = (0, 1, 1) + p1 = (1, 1, 1) + t = Tetrahedron { v0 = p0, + v1 = p1, + v2 = p2, + v3 = p3, + fv = empty_values } + contained = contains_point t exterior_point + + + doesnt_contain_point3 :: Assertion + doesnt_contain_point3 = + assertEqual "doesn't contain an exterior point" False contained + where + p0 = (1, 1, 1) + p1 = (1, 0, 1) + t = Tetrahedron { v0 = p0, + v1 = p1, + v2 = p2, + v3 = p3, + fv = empty_values } + contained = contains_point t exterior_point + + + doesnt_contain_point4 :: Assertion + doesnt_contain_point4 = + assertEqual "doesn't contain an exterior point" False contained + where + p0 = (1, 0, 1) + p1 = (0, 0, 1) + t = Tetrahedron { v0 = p0, + v1 = p1, + v2 = p2, + v3 = p3, + fv = empty_values } + contained = contains_point t exterior_point + + + doesnt_contain_point5 :: Assertion + doesnt_contain_point5 = + assertEqual "doesn't contain an exterior point" False contained + where + p0 = (0, 0, 1) + p1 = (0, 1, 1) + t = Tetrahedron { v0 = p0, + v1 = p1, + v2 = p2, + v3 = p3, + fv = empty_values } + contained = contains_point t exterior_point -- | The barycentric coordinate of v0 with respect to itself should