#ifdef WITH_TESTS #include "../Tests.h" #include "../../navMesh/NavMeshFactory.h" TEST(NavMeshFactory, build1) { Floorplan::IndoorMap map; Floorplan::Floor floor; map.floors.push_back(&floor); floor.atHeight = 0; floor.height = 3; Floorplan::FloorOutlinePolygon outline; floor.outline.push_back(&outline); outline.poly.points.push_back(Point2(0,0)); outline.poly.points.push_back(Point2(10,0)); outline.poly.points.push_back(Point2(10,10)); outline.poly.points.push_back(Point2(0,10)); outline.outdoor = false; outline.method = Floorplan::OutlineMethod::ADD; NavMesh nm; NavMeshFactory fac(&nm); fac.build(&map); ASSERT_NEAR(0, nm.getBBox().getMin().x, 0.5); ASSERT_NEAR(0, nm.getBBox().getMin().y, 0.5); ASSERT_NEAR(0, nm.getBBox().getMin().z, 0.5); ASSERT_NEAR(10, nm.getBBox().getMax().x, 0.5); ASSERT_NEAR(10, nm.getBBox().getMax().y, 0.5); ASSERT_NEAR( 0, nm.getBBox().getMax().z, 0.5); ASSERT_EQ(2, nm.getNumTriangles()); ASSERT_EQ(nm.getNeighbor(0,0), nm[1]); ASSERT_EQ(nm.getNeighbor(1,0), nm[0]); } #endif