Fixed some errors in Tests.

This commit is contained in:
William Moberg
2016-01-19 15:20:29 +01:00
parent 713ebbe18c
commit 017ad96bbe
2 changed files with 22 additions and 12 deletions
+2 -2
View File
@@ -205,9 +205,9 @@ BOOST_AUTO_TEST_CASE(octTest)
{ {
glm::vec3 mini = glm::vec3(-1, -1, -1); glm::vec3 mini = glm::vec3(-1, -1, -1);
glm::vec3 maxi = glm::vec3(1, 1, 1); glm::vec3 maxi = glm::vec3(1, 1, 1);
Octree tree(AABB(mini, maxi), 2); Octree<AABB> tree(AABB(mini, maxi), 2);
tree.AddDynamicObject(AABB(mini, -0.9f*maxi)); tree.AddDynamicObject(AABB(mini, -0.9f*maxi));
Octree::Output data; OctSpace::Output data;
glm::vec3 origin = 3.0f * mini; glm::vec3 origin = 3.0f * mini;
bool rayIntersected = tree.RayCollides(Ray(origin , mini - origin), data); bool rayIntersected = tree.RayCollides(Ray(origin , mini - origin), data);
BOOST_CHECK(rayIntersected); BOOST_CHECK(rayIntersected);
+20 -10
View File
@@ -13,12 +13,12 @@ BOOST_AUTO_TEST_CASE(octSameRegionTest)
{ {
glm::vec3 mini = glm::vec3(-1, -1, -1); glm::vec3 mini = glm::vec3(-1, -1, -1);
glm::vec3 maxi = glm::vec3(1, 1, 1); glm::vec3 maxi = glm::vec3(1, 1, 1);
Octree tree(AABB(mini, maxi), 2); Octree<AABB> tree(AABB(mini, maxi), 2);
AABB firstQuadrant(mini, 0.8f*mini); AABB firstQuadrant(mini, 0.8f*mini);
tree.AddStaticObject(firstQuadrant); tree.AddStaticObject(firstQuadrant);
AABB testBox(0.9f*mini, 0.8f*mini); AABB testBox(0.9f*mini, 0.8f*mini);
std::vector<AABB> region; std::vector<AABB> region;
tree.BoxesInSameRegion(testBox, region); tree.ObjectsInSameRegion(testBox, region);
BOOST_REQUIRE(region.size() == 1); BOOST_REQUIRE(region.size() == 1);
AABB& box = region[0]; AABB& box = region[0];
BOOST_CHECK_CLOSE_FRACTION(box.Origin().x, firstQuadrant.Origin().x, 0.00001f); BOOST_CHECK_CLOSE_FRACTION(box.Origin().x, firstQuadrant.Origin().x, 0.00001f);
@@ -40,7 +40,7 @@ const int NUM_FUNCTION_LOOPS = 25;
const int TESTS = 0; //10 const int TESTS = 0; //10
template<typename Tree> template<typename Tree>
void RegionTest(Tree& tree) void RegionTestOld(Tree& tree)
{ {
AABB aabb; AABB aabb;
aabb.CreateFromCenter(glm::vec3(rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS), aabb.CreateFromCenter(glm::vec3(rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS),
@@ -50,9 +50,19 @@ void RegionTest(Tree& tree)
} }
template<typename Tree> template<typename Tree>
void RegionTest(Tree& tree)
{
AABB aabb;
aabb.CreateFromCenter(glm::vec3(rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS),
glm::vec3(rand() % MAXSIZE, rand() % MAXSIZE, rand() % MAXSIZE));
std::vector<AABB> outVec;
tree.ObjectsInSameRegion(aabb, outVec);
}
template<typename Tree, typename Output>
void RayTest(Tree& tree) void RayTest(Tree& tree)
{ {
Tree::Output data; Output data;
glm::vec3 rayStart = glm::vec3(rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS); glm::vec3 rayStart = glm::vec3(rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS);
glm::vec3 rayEnd = glm::vec3(rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS); glm::vec3 rayEnd = glm::vec3(rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS, rand() % LEVEL_BOUNDS);
tree.RayCollides({ rayStart , glm::normalize(rayEnd - rayStart) }, data); tree.RayCollides({ rayStart , glm::normalize(rayEnd - rayStart) }, data);
@@ -111,13 +121,13 @@ void TestLoop(TestFunction xTest)
BOOST_AUTO_TEST_CASE(octRegionPerfTestWithDuplicates) BOOST_AUTO_TEST_CASE(octRegionPerfTestWithDuplicates)
{ {
TestLoop<Old::OctTree>(RegionTest<Old::OctTree>); TestLoop<Old::OctTree>(RegionTestOld<Old::OctTree>);
BOOST_CHECK(true); BOOST_CHECK(true);
} }
BOOST_AUTO_TEST_CASE(octRegionPerfTestNoDuplicates) BOOST_AUTO_TEST_CASE(octRegionPerfTestNoDuplicates)
{ {
TestLoop<Octree>(RegionTest<Octree>); TestLoop<Octree<AABB>>(RegionTest<Octree<AABB>>);
BOOST_CHECK(true); BOOST_CHECK(true);
} }
@@ -129,19 +139,19 @@ BOOST_AUTO_TEST_CASE(octBoxPerfTestWithDuplicates)
BOOST_AUTO_TEST_CASE(octBoxPerfTestNoDuplicates) BOOST_AUTO_TEST_CASE(octBoxPerfTestNoDuplicates)
{ {
TestLoop<Octree>(BoxTest<Octree>); TestLoop<Octree<AABB>>(BoxTest<Octree<AABB>>);
BOOST_CHECK(true); BOOST_CHECK(true);
} }
BOOST_AUTO_TEST_CASE(octRayPerfTestWithDuplicates) BOOST_AUTO_TEST_CASE(octRayPerfTestWithDuplicates)
{ {
TestLoop<Old::OctTree>(RayTest<Old::OctTree>); TestLoop<Old::OctTree>(RayTest<Old::OctTree, Old::OctTree::Output>);
BOOST_CHECK(true); BOOST_CHECK(true);
} }
BOOST_AUTO_TEST_CASE(octRayPerfTestNoDuplicates) BOOST_AUTO_TEST_CASE(octRayPerfTestNoDuplicates)
{ {
TestLoop<Octree>(RayTest<Octree>); TestLoop<Octree<AABB>>(RayTest<Octree<AABB>, OctSpace::Output>);
BOOST_CHECK(true); BOOST_CHECK(true);
} }
@@ -153,7 +163,7 @@ BOOST_AUTO_TEST_CASE(octNopPerfTestWithDuplicates)
BOOST_AUTO_TEST_CASE(octNopPerfTestNoDuplicates) BOOST_AUTO_TEST_CASE(octNopPerfTestNoDuplicates)
{ {
TestLoop<Octree>(NopTest<Octree>); TestLoop<Octree<AABB>>(NopTest<Octree<AABB>>);
BOOST_CHECK(true); BOOST_CHECK(true);
} }