summaryrefslogtreecommitdiff
path: root/src/Toplex_map/test/toplex_map_unit_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Toplex_map/test/toplex_map_unit_test.cpp')
-rw-r--r--src/Toplex_map/test/toplex_map_unit_test.cpp81
1 files changed, 70 insertions, 11 deletions
diff --git a/src/Toplex_map/test/toplex_map_unit_test.cpp b/src/Toplex_map/test/toplex_map_unit_test.cpp
index c1540eb5..9ee5dff2 100644
--- a/src/Toplex_map/test/toplex_map_unit_test.cpp
+++ b/src/Toplex_map/test/toplex_map_unit_test.cpp
@@ -29,21 +29,21 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(common_toplex_map_functionnalities, Toplex_map, li
K.insert_simplex(sigma6);
K.insert_simplex(sigma7);
- std::cout << K.num_maximal_simplices();
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
BOOST_CHECK(K.membership(sigma4));
//BOOST_CHECK(!K.maximality(sigma3));
BOOST_CHECK(!K.membership(sigma5));
K.insert_simplex(sigma5);
- std::cout << K.num_maximal_simplices();
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
BOOST_CHECK(K.membership(sigma5));
std::vector<Vertex> sigma9 = {1, 2, 3};
std::vector<Vertex> sigma10 = {2, 7};
auto r = K.contraction(4,5);
- std::cout << K.num_maximal_simplices();
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
sigma9.emplace_back(r);
sigma10.emplace_back(r);
@@ -59,24 +59,83 @@ BOOST_AUTO_TEST_CASE(toplex_map_num_maximal_simplices) {
using Vertex = Gudhi::Toplex_map::Vertex;
Gudhi::Toplex_map K;
- K.insert_simplex({1, 2, 3, 4});
- K.insert_simplex({5, 2, 3, 6});
- K.insert_simplex({4, 5, 3});
- K.insert_simplex({4, 5, 9});
+ std::vector<Vertex> sigma1 = {1, 2, 3, 4};
+ std::vector<Vertex> sigma2 = {5, 2, 3, 6};
+ std::vector<Vertex> sigma3 = {4, 5, 3};
+ std::vector<Vertex> sigma4 = {4, 5, 9};
+ K.insert_simplex(sigma1);
+ K.insert_simplex(sigma2);
+ K.insert_simplex(sigma3);
+ K.insert_simplex(sigma4);
- std::cout << K.num_maximal_simplices();
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
BOOST_CHECK(K.num_maximal_simplices() == 4);
- K.insert_simplex({5, 2, 7});
+ std::vector<Vertex> sigma5 = {5, 2, 7};
+ K.insert_simplex(sigma5);
- std::cout << K.num_maximal_simplices();
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
BOOST_CHECK(K.num_maximal_simplices() == 5);
auto r = K.contraction(4,5);
+ std::cout << "r=" << r << std::endl;
+ BOOST_CHECK(r == 5);
- std::cout << K.num_maximal_simplices();
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
BOOST_CHECK(K.num_maximal_simplices() == 4);
+ std::vector<Vertex> sigma6 = {2, 7};
+ K.remove_simplex(sigma6);
+
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
+ BOOST_CHECK(K.num_maximal_simplices() == 4);
+
+ K.remove_simplex(sigma2);
+
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
+ BOOST_CHECK(K.num_maximal_simplices() == 6);
+}
+
+BOOST_AUTO_TEST_CASE(lazy_toplex_map_num_maximal_simplices) {
+ using Vertex = Gudhi::Lazy_Toplex_map::Vertex;
+
+ Gudhi::Lazy_Toplex_map K;
+ std::vector<Vertex> sigma1 = {1, 2, 3, 4};
+ std::vector<Vertex> sigma2 = {5, 2, 3, 6};
+ std::vector<Vertex> sigma3 = {4, 5, 3};
+ std::vector<Vertex> sigma4 = {4, 5, 9};
+ K.insert_simplex(sigma1);
+ K.insert_simplex(sigma2);
+ K.insert_simplex(sigma3);
+ K.insert_simplex(sigma4);
+
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
+ BOOST_CHECK(K.num_maximal_simplices() == 4);
+
+ std::vector<Vertex> sigma5 = {5, 2, 7};
+ K.insert_simplex(sigma5);
+
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
+ BOOST_CHECK(K.num_maximal_simplices() == 5);
+
+ auto r = K.contraction(4,5);
+ std::cout << "r=" << r << std::endl;
+ BOOST_CHECK(r == 5);
+
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
+ BOOST_CHECK(K.num_maximal_simplices() == 5);
+
+ std::vector<Vertex> sigma6 = {2, 7};
+ K.remove_simplex(sigma6);
+
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
+ BOOST_CHECK(K.num_maximal_simplices() == 6);
+
+ K.remove_simplex(sigma2);
+
+ std::cout << "num_maximal_simplices" << K.num_maximal_simplices() << std::endl;
+ BOOST_CHECK(K.num_maximal_simplices() == 9);
+
}
BOOST_AUTO_TEST_CASE(toplex_map_maximality) {