summaryrefslogtreecommitdiff
path: root/src/Simplex_tree/test
diff options
context:
space:
mode:
authorvrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2015-06-16 14:01:45 +0000
committervrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2015-06-16 14:01:45 +0000
commitc336a0789b088c729308f0ff31eb5e9a92375ca4 (patch)
tree4f3df82878eec59cb4a037b2f8fb4fbb879e1513 /src/Simplex_tree/test
parent459114b4847b311cc88626573d7bbd016b4c8877 (diff)
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
Diffstat (limited to 'src/Simplex_tree/test')
-rw-r--r--src/Simplex_tree/test/simplex_tree_unit_test.cpp46
1 files changed, 46 insertions, 0 deletions
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<Vertex_handle> v, int dim, int res)
+{
+ std::vector<typeST::Dictionary> 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<Vertex_handle> 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);
+
+
}