#include #include #include #include #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE "toplex map" #include using namespace Gudhi; std::vector sigma1 = {1, 2, 3, 4}; std::vector sigma2 = {5, 2, 3, 6}; std::vector sigma3 = {5}; std::vector sigma4 = {5, 2, 3}; std::vector sigma5 = {5, 2, 7}; std::vector sigma6 = {4, 5, 3}; std::vector sigma7 = {4, 5, 9}; std::vector sigma8 = {1, 2, 3, 6}; BOOST_AUTO_TEST_CASE(toplexmap) { Toplex_map K; K.insert_simplex(sigma1); K.insert_simplex(sigma2); K.insert_simplex(sigma3); K.insert_simplex(sigma6); K.insert_simplex(sigma7); BOOST_CHECK(K.membership(sigma4)); BOOST_CHECK(!K.maximality(sigma5)); BOOST_CHECK(!K.membership(sigma5)); K.contraction(4,5); BOOST_CHECK(!K.membership(sigma6)); } BOOST_AUTO_TEST_CASE(ltoplexmap) { Lazy_Toplex_map K; K.insert_simplex(sigma1); K.insert_simplex(sigma2); K.insert_simplex(sigma3); K.insert_simplex(sigma6); K.insert_simplex(sigma7); BOOST_CHECK(K.membership(sigma4)); BOOST_CHECK(!K.membership(sigma5)); K.contraction(4,5); BOOST_CHECK(!K.membership(sigma6)); } BOOST_AUTO_TEST_CASE(ftoplexmap) { Filtered_toplex_map K; K.insert_simplex_and_subfaces(sigma1, 2.); K.insert_simplex_and_subfaces(sigma2, 2.); K.insert_simplex_and_subfaces(sigma6, 1.); K.insert_simplex_and_subfaces(sigma7, 1.); BOOST_CHECK(K.filtration(sigma4)==2.); BOOST_CHECK(K.filtration(sigma3)==1.); } /* BOOST_AUTO_TEST_CASE(toplexmap_candidates) { Toplex_map K; K.insert_simplex(sigma1); K.insert_simplex(sigma2); K.remove_simplex(sigma1); K.remove_simplex(sigma2); auto c = K.candidates(); BOOST_CHECK(c.count(get_key(sigma1))); BOOST_CHECK(c.count(get_key(sigma2))); BOOST_CHECK(c.size()==2); } */