From e3d4dd49c848eedecd70bd743ae4a94b98b7f086 Mon Sep 17 00:00:00 2001 From: Marc Glisse Date: Sat, 15 Oct 2022 15:38:01 +0200 Subject: Remove unnecessary includes --- src/Alpha_complex/test/Alpha_complex_unit_test.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src/Alpha_complex/test/Alpha_complex_unit_test.cpp') diff --git a/src/Alpha_complex/test/Alpha_complex_unit_test.cpp b/src/Alpha_complex/test/Alpha_complex_unit_test.cpp index f74ad217..1ac0093d 100644 --- a/src/Alpha_complex/test/Alpha_complex_unit_test.cpp +++ b/src/Alpha_complex/test/Alpha_complex_unit_test.cpp @@ -13,18 +13,14 @@ #include #include -#include #include #include -#include // float comparison -#include +#include // std::out_of_range #include #include #include -// to construct a simplex_tree from Delaunay_triangulation -#include #include #include -- cgit v1.2.3 From b380380aecb601fbc601710da1a62cca202304db Mon Sep 17 00:00:00 2001 From: Marc Glisse Date: Sat, 15 Oct 2022 15:46:09 +0200 Subject: Split Alpha_complex_unit_test.cpp into 2 files It was taking too much memory to compile --- .../test/Alpha_complex_dim3_unit_test.cpp | 191 --------------------- src/Alpha_complex/test/Alpha_complex_unit_test.cpp | 91 ---------- src/Alpha_complex/test/CMakeLists.txt | 6 +- 3 files changed, 5 insertions(+), 283 deletions(-) (limited to 'src/Alpha_complex/test/Alpha_complex_unit_test.cpp') diff --git a/src/Alpha_complex/test/Alpha_complex_dim3_unit_test.cpp b/src/Alpha_complex/test/Alpha_complex_dim3_unit_test.cpp index 1ac0093d..0085ae67 100644 --- a/src/Alpha_complex/test/Alpha_complex_dim3_unit_test.cpp +++ b/src/Alpha_complex/test/Alpha_complex_dim3_unit_test.cpp @@ -22,7 +22,6 @@ #include #include -#include // Use dynamic_dimension_tag for the user to be able to set dimension typedef CGAL::Epeck_d< CGAL::Dynamic_dimension_tag > Exact_kernel_d; @@ -84,153 +83,6 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(Alpha_complex_from_OFF_file, TestedKernel, list_of BOOST_CHECK(simplex_tree_59.num_simplices() == 23); } -// Use static dimension_tag for the user not to be able to set dimension -typedef CGAL::Epeck_d< CGAL::Dimension_tag<4> > Kernel_4; -typedef Kernel_4::Point_d Point_4; -typedef std::vector Vector_4_Points; - -bool is_point_in_list(Vector_4_Points points_list, Point_4 point) { - for (auto& point_in_list : points_list) { - if (point_in_list == point) { - return true; // point found - } - } - return false; // point not found -} - -BOOST_AUTO_TEST_CASE(Alpha_complex_from_points) { - // ---------------------------------------------------------------------------- - // Init of a list of points - // ---------------------------------------------------------------------------- - Vector_4_Points points; - std::vector coords = { 0.0, 0.0, 0.0, 1.0 }; - points.push_back(Point_4(coords.begin(), coords.end())); - coords = { 0.0, 0.0, 1.0, 0.0 }; - points.push_back(Point_4(coords.begin(), coords.end())); - coords = { 0.0, 1.0, 0.0, 0.0 }; - points.push_back(Point_4(coords.begin(), coords.end())); - coords = { 1.0, 0.0, 0.0, 0.0 }; - points.push_back(Point_4(coords.begin(), coords.end())); - - // ---------------------------------------------------------------------------- - // Init of an alpha complex from the list of points - // ---------------------------------------------------------------------------- - Gudhi::alpha_complex::Alpha_complex alpha_complex_from_points(points); - - std::clog << "========== Alpha_complex_from_points ==========" << std::endl; - - Gudhi::Simplex_tree<> simplex_tree; - BOOST_CHECK(alpha_complex_from_points.create_complex(simplex_tree)); - - std::clog << "alpha_complex_from_points.num_vertices()=" << alpha_complex_from_points.num_vertices() << std::endl; - BOOST_CHECK(alpha_complex_from_points.num_vertices() == points.size()); - - // Another way to check num_simplices - std::clog << "Iterator on alpha complex simplices in the filtration order, with [filtration value]:" << std::endl; - int num_simplices = 0; - for (auto f_simplex : simplex_tree.filtration_simplex_range()) { - num_simplices++; - std::clog << " ( "; - for (auto vertex : simplex_tree.simplex_vertex_range(f_simplex)) { - std::clog << vertex << " "; - } - std::clog << ") -> " << "[" << simplex_tree.filtration(f_simplex) << "] "; - std::clog << std::endl; - } - BOOST_CHECK(num_simplices == 15); - std::clog << "simplex_tree.num_simplices()=" << simplex_tree.num_simplices() << std::endl; - BOOST_CHECK(simplex_tree.num_simplices() == 15); - - std::clog << "simplex_tree.dimension()=" << simplex_tree.dimension() << std::endl; - BOOST_CHECK(simplex_tree.dimension() == 3); - std::clog << "simplex_tree.num_vertices()=" << simplex_tree.num_vertices() << std::endl; - BOOST_CHECK(simplex_tree.num_vertices() == points.size()); - - for (auto f_simplex : simplex_tree.filtration_simplex_range()) { - switch (simplex_tree.dimension(f_simplex)) { - case 0: - GUDHI_TEST_FLOAT_EQUALITY_CHECK(simplex_tree.filtration(f_simplex), 0.0); - break; - case 1: - GUDHI_TEST_FLOAT_EQUALITY_CHECK(simplex_tree.filtration(f_simplex), 1.0/2.0); - break; - case 2: - GUDHI_TEST_FLOAT_EQUALITY_CHECK(simplex_tree.filtration(f_simplex), 2.0/3.0); - break; - case 3: - GUDHI_TEST_FLOAT_EQUALITY_CHECK(simplex_tree.filtration(f_simplex), 3.0/4.0); - break; - default: - BOOST_CHECK(false); // Shall not happen - break; - } - } - - Point_4 p0 = alpha_complex_from_points.get_point(0); - std::clog << "alpha_complex_from_points.get_point(0)=" << p0 << std::endl; - BOOST_CHECK(4 == p0.dimension()); - BOOST_CHECK(is_point_in_list(points, p0)); - - Point_4 p1 = alpha_complex_from_points.get_point(1); - std::clog << "alpha_complex_from_points.get_point(1)=" << p1 << std::endl; - BOOST_CHECK(4 == p1.dimension()); - BOOST_CHECK(is_point_in_list(points, p1)); - - Point_4 p2 = alpha_complex_from_points.get_point(2); - std::clog << "alpha_complex_from_points.get_point(2)=" << p2 << std::endl; - BOOST_CHECK(4 == p2.dimension()); - BOOST_CHECK(is_point_in_list(points, p2)); - - Point_4 p3 = alpha_complex_from_points.get_point(3); - std::clog << "alpha_complex_from_points.get_point(3)=" << p3 << std::endl; - BOOST_CHECK(4 == p3.dimension()); - BOOST_CHECK(is_point_in_list(points, p3)); - - // Test to the limit - BOOST_CHECK_THROW (alpha_complex_from_points.get_point(4), std::out_of_range); - BOOST_CHECK_THROW (alpha_complex_from_points.get_point(-1), std::out_of_range); - BOOST_CHECK_THROW (alpha_complex_from_points.get_point(1234), std::out_of_range); - - // Test after prune_above_filtration - bool modified = simplex_tree.prune_above_filtration(0.6); - BOOST_CHECK(modified); - - // Another way to check num_simplices - std::clog << "Iterator on alpha complex simplices in the filtration order, with [filtration value]:" << std::endl; - num_simplices = 0; - for (auto f_simplex : simplex_tree.filtration_simplex_range()) { - num_simplices++; - std::clog << " ( "; - for (auto vertex : simplex_tree.simplex_vertex_range(f_simplex)) { - std::clog << vertex << " "; - } - std::clog << ") -> " << "[" << simplex_tree.filtration(f_simplex) << "] "; - std::clog << std::endl; - } - BOOST_CHECK(num_simplices == 10); - std::clog << "simplex_tree.num_simplices()=" << simplex_tree.num_simplices() << std::endl; - BOOST_CHECK(simplex_tree.num_simplices() == 10); - - std::clog << "simplex_tree.dimension()=" << simplex_tree.dimension() << std::endl; - BOOST_CHECK(simplex_tree.dimension() == 1); - std::clog << "simplex_tree.num_vertices()=" << simplex_tree.num_vertices() << std::endl; - BOOST_CHECK(simplex_tree.num_vertices() == 4); - - for (auto f_simplex : simplex_tree.filtration_simplex_range()) { - switch (simplex_tree.dimension(f_simplex)) { - case 0: - GUDHI_TEST_FLOAT_EQUALITY_CHECK(simplex_tree.filtration(f_simplex), 0.0); - break; - case 1: - GUDHI_TEST_FLOAT_EQUALITY_CHECK(simplex_tree.filtration(f_simplex), 1.0/2.0); - break; - default: - BOOST_CHECK(false); // Shall not happen - break; - } - } - -} BOOST_AUTO_TEST_CASE_TEMPLATE(Alpha_complex_from_empty_points, TestedKernel, list_of_kernel_variants) { std::clog << "========== Alpha_complex_from_empty_points ==========" << std::endl; @@ -263,46 +115,3 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(Alpha_complex_from_empty_points, TestedKernel, lis std::clog << "simplex_tree.num_vertices()=" << simplex_tree.num_vertices() << std::endl; BOOST_CHECK(simplex_tree.num_vertices() == points.size()); } - -using Inexact_kernel_2 = CGAL::Epick_d< CGAL::Dimension_tag<2> >; -using Exact_kernel_2 = CGAL::Epeck_d< CGAL::Dimension_tag<2> >; -using list_of_kernel_2_variants = boost::mpl::list; - -BOOST_AUTO_TEST_CASE_TEMPLATE(Alpha_complex_with_duplicated_points, TestedKernel, list_of_kernel_2_variants) { - std::clog << "========== Alpha_complex_with_duplicated_points ==========" << std::endl; - - using Point = typename TestedKernel::Point_d; - using Vector_of_points = std::vector; - - // ---------------------------------------------------------------------------- - // Init of a list of points - // ---------------------------------------------------------------------------- - Vector_of_points points; - points.push_back(Point(1.0, 1.0)); - points.push_back(Point(7.0, 0.0)); - points.push_back(Point(4.0, 6.0)); - points.push_back(Point(9.0, 6.0)); - points.push_back(Point(0.0, 14.0)); - points.push_back(Point(2.0, 19.0)); - points.push_back(Point(9.0, 17.0)); - // duplicated points - points.push_back(Point(1.0, 1.0)); - points.push_back(Point(7.0, 0.0)); - - // ---------------------------------------------------------------------------- - // Init of an alpha complex from the list of points - // ---------------------------------------------------------------------------- - std::clog << "Init" << std::endl; - Gudhi::alpha_complex::Alpha_complex alpha_complex_from_points(points); - - Gudhi::Simplex_tree<> simplex_tree; - std::clog << "create_complex" << std::endl; - BOOST_CHECK(alpha_complex_from_points.create_complex(simplex_tree)); - - std::clog << "alpha_complex_from_points.num_vertices()=" << alpha_complex_from_points.num_vertices() << std::endl; - BOOST_CHECK(alpha_complex_from_points.num_vertices() < points.size()); - - std::clog << "simplex_tree.num_vertices()=" << simplex_tree.num_vertices() - << std::endl; - BOOST_CHECK(simplex_tree.num_vertices() < points.size()); -} diff --git a/src/Alpha_complex/test/Alpha_complex_unit_test.cpp b/src/Alpha_complex/test/Alpha_complex_unit_test.cpp index 1ac0093d..b474917f 100644 --- a/src/Alpha_complex/test/Alpha_complex_unit_test.cpp +++ b/src/Alpha_complex/test/Alpha_complex_unit_test.cpp @@ -24,66 +24,6 @@ #include #include -// Use dynamic_dimension_tag for the user to be able to set dimension -typedef CGAL::Epeck_d< CGAL::Dynamic_dimension_tag > Exact_kernel_d; -// Use static dimension_tag for the user not to be able to set dimension -typedef CGAL::Epeck_d< CGAL::Dimension_tag<3> > Exact_kernel_s; -// Use dynamic_dimension_tag for the user to be able to set dimension -typedef CGAL::Epick_d< CGAL::Dynamic_dimension_tag > Inexact_kernel_d; -// Use static dimension_tag for the user not to be able to set dimension -typedef CGAL::Epick_d< CGAL::Dimension_tag<3> > Inexact_kernel_s; -// The triangulation uses the default instantiation of the TriangulationDataStructure template parameter - -typedef boost::mpl::list list_of_kernel_variants; - -BOOST_AUTO_TEST_CASE_TEMPLATE(Alpha_complex_from_OFF_file, TestedKernel, list_of_kernel_variants) { - // ---------------------------------------------------------------------------- - // - // Init of an alpha-complex from a OFF file - // - // ---------------------------------------------------------------------------- - std::string off_file_name("alphacomplexdoc.off"); - double max_alpha_square_value = 60.0; - std::clog << "========== OFF FILE NAME = " << off_file_name << " - alpha²=" << - max_alpha_square_value << "==========" << std::endl; - - Gudhi::alpha_complex::Alpha_complex alpha_complex_from_file(off_file_name); - - Gudhi::Simplex_tree<> simplex_tree_60; - BOOST_CHECK(alpha_complex_from_file.create_complex(simplex_tree_60, max_alpha_square_value)); - - std::clog << "alpha_complex_from_file.num_vertices()=" << alpha_complex_from_file.num_vertices() << std::endl; - BOOST_CHECK(alpha_complex_from_file.num_vertices() == 7); - - std::clog << "simplex_tree_60.dimension()=" << simplex_tree_60.dimension() << std::endl; - BOOST_CHECK(simplex_tree_60.dimension() == 2); - - std::clog << "simplex_tree_60.num_vertices()=" << simplex_tree_60.num_vertices() << std::endl; - BOOST_CHECK(simplex_tree_60.num_vertices() == 7); - - std::clog << "simplex_tree_60.num_simplices()=" << simplex_tree_60.num_simplices() << std::endl; - BOOST_CHECK(simplex_tree_60.num_simplices() == 25); - - max_alpha_square_value = 59.0; - std::clog << "========== OFF FILE NAME = " << off_file_name << " - alpha²=" << - max_alpha_square_value << "==========" << std::endl; - - Gudhi::Simplex_tree<> simplex_tree_59; - BOOST_CHECK(alpha_complex_from_file.create_complex(simplex_tree_59, max_alpha_square_value)); - - std::clog << "alpha_complex_from_file.num_vertices()=" << alpha_complex_from_file.num_vertices() << std::endl; - BOOST_CHECK(alpha_complex_from_file.num_vertices() == 7); - - std::clog << "simplex_tree_59.dimension()=" << simplex_tree_59.dimension() << std::endl; - BOOST_CHECK(simplex_tree_59.dimension() == 2); - - std::clog << "simplex_tree_59.num_vertices()=" << simplex_tree_59.num_vertices() << std::endl; - BOOST_CHECK(simplex_tree_59.num_vertices() == 7); - - std::clog << "simplex_tree_59.num_simplices()=" << simplex_tree_59.num_simplices() << std::endl; - BOOST_CHECK(simplex_tree_59.num_simplices() == 23); -} - // Use static dimension_tag for the user not to be able to set dimension typedef CGAL::Epeck_d< CGAL::Dimension_tag<4> > Kernel_4; typedef Kernel_4::Point_d Point_4; @@ -232,37 +172,6 @@ BOOST_AUTO_TEST_CASE(Alpha_complex_from_points) { } -BOOST_AUTO_TEST_CASE_TEMPLATE(Alpha_complex_from_empty_points, TestedKernel, list_of_kernel_variants) { - std::clog << "========== Alpha_complex_from_empty_points ==========" << std::endl; - - // ---------------------------------------------------------------------------- - // Init of an empty list of points - // ---------------------------------------------------------------------------- - std::vector points; - - // ---------------------------------------------------------------------------- - // Init of an alpha complex from the list of points - // ---------------------------------------------------------------------------- - Gudhi::alpha_complex::Alpha_complex alpha_complex_from_points(points); - - std::clog << "alpha_complex_from_points.num_vertices()=" << alpha_complex_from_points.num_vertices() << std::endl; - BOOST_CHECK(alpha_complex_from_points.num_vertices() == points.size()); - - // Test to the limit - BOOST_CHECK_THROW (alpha_complex_from_points.get_point(0), std::out_of_range); - - Gudhi::Simplex_tree<> simplex_tree; - BOOST_CHECK(!alpha_complex_from_points.create_complex(simplex_tree)); - - std::clog << "simplex_tree.num_simplices()=" << simplex_tree.num_simplices() << std::endl; - BOOST_CHECK(simplex_tree.num_simplices() == 0); - - std::clog << "simplex_tree.dimension()=" << simplex_tree.dimension() << std::endl; - BOOST_CHECK(simplex_tree.dimension() == -1); - - std::clog << "simplex_tree.num_vertices()=" << simplex_tree.num_vertices() << std::endl; - BOOST_CHECK(simplex_tree.num_vertices() == points.size()); -} using Inexact_kernel_2 = CGAL::Epick_d< CGAL::Dimension_tag<2> >; using Exact_kernel_2 = CGAL::Epeck_d< CGAL::Dimension_tag<2> >; diff --git a/src/Alpha_complex/test/CMakeLists.txt b/src/Alpha_complex/test/CMakeLists.txt index 0595ca92..dd2c235f 100644 --- a/src/Alpha_complex/test/CMakeLists.txt +++ b/src/Alpha_complex/test/CMakeLists.txt @@ -8,14 +8,18 @@ if (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.11.0) add_executable ( Alpha_complex_test_unit Alpha_complex_unit_test.cpp ) target_link_libraries(Alpha_complex_test_unit ${CGAL_LIBRARY}) + add_executable ( Alpha_complex_dim3_test_unit Alpha_complex_dim3_unit_test.cpp ) + target_link_libraries(Alpha_complex_dim3_test_unit ${CGAL_LIBRARY}) add_executable ( Delaunay_complex_test_unit Delaunay_complex_unit_test.cpp ) target_link_libraries(Delaunay_complex_test_unit ${CGAL_LIBRARY}) if (TBB_FOUND) target_link_libraries(Alpha_complex_test_unit ${TBB_LIBRARIES}) + target_link_libraries(Alpha_complex_dim3_test_unit ${TBB_LIBRARIES}) target_link_libraries(Delaunay_complex_test_unit ${TBB_LIBRARIES}) endif() gudhi_add_boost_test(Alpha_complex_test_unit) + gudhi_add_boost_test(Alpha_complex_dim3_test_unit) gudhi_add_boost_test(Delaunay_complex_test_unit) endif (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.11.0) @@ -73,4 +77,4 @@ if (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 5.1.0) endif() gudhi_add_boost_test(Zero_weighted_alpha_complex_test_unit) -endif (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 5.1.0) \ No newline at end of file +endif (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 5.1.0) -- cgit v1.2.3