From c336a0789b088c729308f0ff31eb5e9a92375ca4 Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Tue, 16 Jun 2015 14:01:45 +0000 Subject: This development includes the Simplex_tree coface and star functions implementation Simplex_tree find function fix (when find on an empty RandomAccessVertexRange) git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/coface@620 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 5310514623bb7040a4118fa9c6898a5ce894d0c4 --- src/Simplex_tree/test/simplex_tree_unit_test.cpp | 46 ++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'src/Simplex_tree/test/simplex_tree_unit_test.cpp') diff --git a/src/Simplex_tree/test/simplex_tree_unit_test.cpp b/src/Simplex_tree/test/simplex_tree_unit_test.cpp index 6b0a1f3d..f685f079 100644 --- a/src/Simplex_tree/test/simplex_tree_unit_test.cpp +++ b/src/Simplex_tree/test/simplex_tree_unit_test.cpp @@ -170,6 +170,25 @@ void set_and_test_simplex_tree_dim_fil(typeST& simplexTree, int vectorSize, cons BOOST_CHECK(simplexTree.num_simplices() == nb_simplices); } +void test_cofaces(typeST& st, std::vector v, int dim, int res) +{ + std::vector cofaces; + if (dim == 0) + cofaces = st.star(st.find(v)); + else + cofaces = st.coface(st.find(v), dim); + BOOST_CHECK(cofaces.size() == (size_t)res); + for (unsigned long i = 0; i < cofaces.size(); ++i) + { + std::cout << "("; + auto j = cofaces[i].begin(); + std::cout << j->first; + for (auto j = cofaces[i].begin() + 1; j != cofaces[i].end(); ++j) + std::cout << "," << j->first; + std::cout << ")" << std::endl; + } +} + BOOST_AUTO_TEST_CASE( simplex_tree_insertion ) { const Filtration_value FIRST_FILTRATION_VALUE = 0.1; @@ -587,4 +606,31 @@ BOOST_AUTO_TEST_CASE( NSimplexAndSubfaces_tree_insertion ) std::cout << std::endl; } + std::cout << "********************************************************************" << std::endl; + // TEST COFACE ALGORITHM + st.set_dimension(3); + std::cout << "COFACE ALGORITHM" << std::endl; + std::vector v; + v.push_back(3); + std::cout << "Star of (3):" << std::endl; + test_cofaces(st, v, 0, 4); + v.clear(); + v.push_back(1); + v.push_back(7); + std::cout << "Star of (1,7): " << std::endl; + test_cofaces(st, v, 0, 3); + std::cout << "Cofaces of (1,7) of dimension 2: " << std::endl; + test_cofaces(st, v, 1, 2); + std::cout << "Cofaces with a codimension too high (codimension + vetices > tree.dimension)" << std::endl; + test_cofaces(st, v, 5, 0); + std::cout << "Cofaces with an empty codimension" << std::endl; + test_cofaces(st, v, -1, 0); + std::cout << "Cofaces in an empty simplex tree" << std::endl; + typeST empty_tree; + test_cofaces(empty_tree, v, 1, 0); + std::cout << "Cofaces of an empty simplex" << std::endl; + v.clear(); + test_cofaces(st, v, 1, 0); + + } -- cgit v1.2.3