summaryrefslogtreecommitdiff
path: root/src/Skeleton_blocker/test/TestSkeletonBlockerComplex.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Skeleton_blocker/test/TestSkeletonBlockerComplex.cpp')
-rw-r--r--src/Skeleton_blocker/test/TestSkeletonBlockerComplex.cpp37
1 files changed, 36 insertions, 1 deletions
diff --git a/src/Skeleton_blocker/test/TestSkeletonBlockerComplex.cpp b/src/Skeleton_blocker/test/TestSkeletonBlockerComplex.cpp
index 9392cc9e..468a4fca 100644
--- a/src/Skeleton_blocker/test/TestSkeletonBlockerComplex.cpp
+++ b/src/Skeleton_blocker/test/TestSkeletonBlockerComplex.cpp
@@ -758,6 +758,11 @@ bool test_constructor3(){
Complex complex(simplices.begin(),simplices.end());
DBGVALUE(complex.to_string());
+ if(complex.num_blockers()!=1) return false;
+ Sh expected_blocker(Vh(0),Vh(1),Vh(2));
+ for(auto b : complex.const_blocker_range())
+ if(*b!=expected_blocker) return false;
+
return complex.num_vertices()==3 && complex.num_blockers()==1;
}
@@ -767,7 +772,6 @@ bool test_constructor4(){
typedef Simplex_handle Sh;
std::vector<Simplex_handle> simplices;
auto subf(subfaces(Sh(Vh(0),Vh(1),Vh(2),Vh(3))));
- // subf.pop_back(); //remove max face -> now a blocker 012
simplices.insert(simplices.begin(),subf.begin(),subf.end());
simplices.push_back(Sh(Vh(4)));
@@ -778,6 +782,10 @@ bool test_constructor4(){
Complex complex(simplices.begin(),simplices.end());
DBGVALUE(complex.to_string());
+ if(complex.num_blockers()!=1) return false;
+ Sh expected_blocker(Vh(0),Vh(1),Vh(4));
+ for(auto b : complex.const_blocker_range())
+ if(*b!=expected_blocker) return false;
return complex.num_vertices()==5 && complex.num_blockers()==1 && complex.num_edges()==8;
}
@@ -810,6 +818,31 @@ bool test_constructor5(){
}
+bool test_constructor6(){
+ typedef Vertex_handle Vh;
+ typedef Simplex_handle Sh;
+ std::vector<Simplex_handle> simplices;
+ auto subf(subfaces(Sh(Vh(0),Vh(1),Vh(2),Vh(3))));
+ for(auto s:subf){
+ Sh s1(Vh(0),Vh(1),Vh(2),Vh(3));
+ Sh s2(Vh(1),Vh(2),Vh(3));
+ if(s!=s1 && s!=s2) simplices.push_back(s);
+ }
+
+ DBGCONT(simplices);
+ Complex complex(simplices.begin(),simplices.end());
+
+ DBGVALUE(complex.to_string());
+
+ if(complex.num_blockers()!=1) return false;
+ Sh expected_blocker(Vh(1),Vh(2),Vh(3));
+ for(auto b : complex.const_blocker_range())
+ if(*b!=expected_blocker) return false;
+ return complex.num_vertices()==4 && complex.num_blockers()==1 && complex.num_edges()==6;
+}
+
+
+
int main (int argc, char *argv[])
{
Tests tests_complex;
@@ -843,6 +876,8 @@ int main (int argc, char *argv[])
tests_complex.add("test_constructor_list_simplices3",test_constructor3);
tests_complex.add("test_constructor_list_simplices4",test_constructor4);
tests_complex.add("test_constructor_list_simplices5",test_constructor5);
+ tests_complex.add("test_constructor_list_simplices6",test_constructor6);
+
if(tests_complex.run()){
return EXIT_SUCCESS;