From a87b41e0bf0f48b667717faadd3fb25016b762cb Mon Sep 17 00:00:00 2001 From: Aaron Grabowy <aaron.grabowy@rwth-aachen.de> Date: Thu, 11 Feb 2021 16:31:49 +0100 Subject: [PATCH] Removed tests with false positives --- tests/feature/intersections/aabb-intersect.cc | 45 ++++++++----------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/tests/feature/intersections/aabb-intersect.cc b/tests/feature/intersections/aabb-intersect.cc index 687c893..8807b58 100644 --- a/tests/feature/intersections/aabb-intersect.cc +++ b/tests/feature/intersections/aabb-intersect.cc @@ -204,31 +204,25 @@ TG_FUZZ_TEST(AABB, RayIntersection) TG_FUZZ_TEST(AABB, ObjectIntersection) { - auto const padding = 0.25f; auto const numSamples = 250; - auto const maxNumSamples = 250000; auto const test_obj = [&](auto const& bb, auto const& o) { - auto bbPadded = bb; - bbPadded.min -= padding; - bbPadded.max += padding; - if (intersects(o, bbPadded)) + if (!intersects(o, bb)) { - auto someInside = false; - for (auto i = 0; i < maxNumSamples && !someInside; ++i) + for (auto i = 0; i < numSamples; ++i) { - auto pBox = uniform(rng, bbPadded); - if (contains(o, pBox, padding)) - someInside = true; + auto pBox = uniform(rng, bb); + CHECK(!contains(o, pBox)); } - CHECK(someInside); } - else + + for (auto i = 0; i < numSamples; ++i) { - for (auto i = 0; i < numSamples; ++i) + auto pBox = uniform(rng, bb); + if (contains(o, pBox)) { - auto pBox = uniform(rng, bb); - CHECK(!contains(o, pBox, padding)); + CHECK(intersects(o, bb)); + break; } } @@ -237,23 +231,22 @@ TG_FUZZ_TEST(AABB, ObjectIntersection) auto const objBounds = aabb_of(o); CHECK(intersects(o, objBounds)); - if (intersects(o, bb)) + if (!intersects(o, bb)) { - auto someInside = false; - for (auto i = 0; i < maxNumSamples && !someInside; ++i) + for (auto i = 0; i < numSamples; ++i) { auto pObj = uniform(rng, o); - if (contains(bb, pObj)) - someInside = true; + CHECK(!contains(bb, pObj)); } - CHECK(someInside); } - else + + for (auto i = 0; i < numSamples; ++i) { - for (auto i = 0; i < numSamples; ++i) + auto pObj = uniform(rng, o); + if (contains(bb, pObj)) { - auto pObj = uniform(rng, o); - CHECK(!contains(bb, pObj)); + CHECK(intersects(o, bb)); + break; } } } -- GitLab