add assertions to the PMP testsuite

This commit is contained in:
Jane Tournois
2017-03-14 15:46:48 +01:00
parent b13616d929
commit f9fe9a5e6a
8 changed files with 117 additions and 24 deletions
@@ -37,17 +37,21 @@ void test_pmesh(const Mesh& pmesh)
typedef typename boost::graph_traits<Mesh>::vertex_descriptor vertex_descriptor;
typedef typename boost::graph_traits<Mesh>::edge_descriptor edge_descriptor;
bool has_border = false;
halfedge_descriptor border_he;
BOOST_FOREACH(halfedge_descriptor h, halfedges(pmesh))
{
if (is_border(h, pmesh))
{
border_he = h;
has_border = true;
break;
}
}
FT border_l = PMP::face_border_length(border_he, pmesh);
std::cout << "length of hole border = " << border_l << std::endl;
if (has_border)
assert(border_l > 0);
face_descriptor valid_patch_face;
unsigned int count = 0;
@@ -59,6 +63,7 @@ void test_pmesh(const Mesh& pmesh)
{
FT face_area = PMP::face_area(face(h, pmesh), pmesh);
std::cout << "face area = " << face_area << std::endl;
assert(face_area > 0);
if(++count == 20)
{
@@ -86,14 +91,16 @@ void test_pmesh(const Mesh& pmesh)
FT patch_area = PMP::area(patch, pmesh);
std::cout << "patch area = " << patch_area << std::endl;
assert(patch_area > 0);
FT mesh_area = PMP::area(pmesh);
std::cout << "mesh area = " << mesh_area << std::endl;
assert(mesh_area >= patch_area);
FT mesh_area_np = PMP::area(pmesh,
PMP::parameters::geom_traits(K()));
std::cout << "mesh area (NP) = " << mesh_area_np << std::endl;
assert(mesh_area_np > 0);
CGAL::Bbox_3 bb = PMP::bbox(pmesh);
std::cout << "bbox x[" << bb.xmin() << "; " << bb.xmax() << "]" << std::endl;
@@ -120,6 +127,9 @@ void test_pmesh(const Mesh& pmesh)
template <typename Polyhedron, typename K>
void test_polyhedron(const char* filename)
{
std::cout << "Test Polyhedron " << filename
<< " with Kernel " << typeid(K).name() << std::endl;
//run test for a Polyhedron
Polyhedron poly; // file should contain oriented polyhedron
std::ifstream input(filename);
@@ -138,6 +148,8 @@ void test_polyhedron(const char* filename)
template <typename Surface_mesh, typename K>
void test_closed_surface_mesh(const char* filename)
{
std::cout << "Test Surface_mesh " << filename
<< " with Kernel " << typeid(K).name() << std::endl;
Surface_mesh sm;
std::ifstream input(filename);
@@ -153,6 +165,7 @@ void test_closed_surface_mesh(const char* filename)
typename K::FT vol = PMP::volume(sm);
std::cout << "volume = " << vol << std::endl;
assert(vol > 0);
}
int main(int argc, char* argv[])