From e8548729a23fff0250e69fb1b3699672413f14c8 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Wed, 31 Aug 2011 14:14:26 -0400 Subject: [PATCH] Even more Tetrahedron de-dupe. --- src/Tests/Tetrahedron.hs | 142 +++++++++++++++++++-------------------- test/TestSuite.hs | 5 +- 2 files changed, 69 insertions(+), 78 deletions(-) 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 diff --git a/test/TestSuite.hs b/test/TestSuite.hs index 3d058e4..541694c 100644 --- a/test/TestSuite.hs +++ b/test/TestSuite.hs @@ -55,10 +55,7 @@ tetrahedron_tests = testGroup "Tetrahedron Tests" [ tetrahedron1_geometry_tests, tetrahedron2_geometry_tests, - tc "doesn't contain point (2)" test_doesnt_contain_point2, - tc "doesn't contain point (3)" test_doesnt_contain_point3, - tc "doesn't contain point (4)" test_doesnt_contain_point4, - tc "doesn't contain point (5)" test_doesnt_contain_point5 ] + containment_tests ] -- | Defined so that my test names fit on one line. tp :: Test.QuickCheck.Testable a => Test.Framework.TestName -> a -> Test.Framework.Test -- 2.43.2