Skip to content
Snippets Groups Projects
Commit a87b41e0 authored by Aaron Grabowy's avatar Aaron Grabowy
Browse files

Removed tests with false positives

parent 98bbc382
No related branches found
No related tags found
1 merge request!42Tests for intersects aabb
Pipeline #16901 failed
...@@ -204,31 +204,25 @@ TG_FUZZ_TEST(AABB, RayIntersection) ...@@ -204,31 +204,25 @@ TG_FUZZ_TEST(AABB, RayIntersection)
TG_FUZZ_TEST(AABB, ObjectIntersection) TG_FUZZ_TEST(AABB, ObjectIntersection)
{ {
auto const padding = 0.25f;
auto const numSamples = 250; auto const numSamples = 250;
auto const maxNumSamples = 250000;
auto const test_obj = [&](auto const& bb, auto const& o) { 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 < numSamples; ++i)
for (auto i = 0; i < maxNumSamples && !someInside; ++i)
{ {
auto pBox = uniform(rng, bbPadded); auto pBox = uniform(rng, bb);
if (contains(o, pBox, padding)) CHECK(!contains(o, pBox));
someInside = true;
} }
CHECK(someInside);
} }
else
{
for (auto i = 0; i < numSamples; ++i) for (auto i = 0; i < numSamples; ++i)
{ {
auto pBox = uniform(rng, bb); auto pBox = uniform(rng, bb);
CHECK(!contains(o, pBox, padding)); if (contains(o, pBox))
{
CHECK(intersects(o, bb));
break;
} }
} }
...@@ -237,23 +231,22 @@ TG_FUZZ_TEST(AABB, ObjectIntersection) ...@@ -237,23 +231,22 @@ TG_FUZZ_TEST(AABB, ObjectIntersection)
auto const objBounds = aabb_of(o); auto const objBounds = aabb_of(o);
CHECK(intersects(o, objBounds)); CHECK(intersects(o, objBounds));
if (intersects(o, bb)) if (!intersects(o, bb))
{ {
auto someInside = false; for (auto i = 0; i < numSamples; ++i)
for (auto i = 0; i < maxNumSamples && !someInside; ++i)
{ {
auto pObj = uniform(rng, o); auto pObj = uniform(rng, o);
if (contains(bb, pObj)) CHECK(!contains(bb, pObj));
someInside = true;
} }
CHECK(someInside);
} }
else
{
for (auto i = 0; i < numSamples; ++i) for (auto i = 0; i < numSamples; ++i)
{ {
auto pObj = uniform(rng, o); auto pObj = uniform(rng, o);
CHECK(!contains(bb, pObj)); if (contains(bb, pObj))
{
CHECK(intersects(o, bb));
break;
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment