X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=tests%2Fsimplicialcomplex.h;h=91d1c55532b2c6e1080efea3fd558fa3adb45aef;hb=HEAD;hp=fa829e1f31dfa08ed02f9641ff7369feaee3a0e1;hpb=267194caeb2fe56530b11c440fefd01c344e5482;p=libstick.git diff --git a/tests/simplicialcomplex.h b/tests/simplicialcomplex.h index fa829e1..91d1c55 100644 --- a/tests/simplicialcomplex.h +++ b/tests/simplicialcomplex.h @@ -4,34 +4,37 @@ #include #include -#include +#include using namespace libstick; -class SimplicialComplexTestSuite: public Test::Suite { +class simplicial_complex_TestSuite: public Test::Suite { private: - typedef SimplicialComplex<2, uint32_t, double> scomplex; - typedef scomplex::SimplexOrder::BoundaryMatrix bm; + typedef simplicial_function<3, uint32_t, double> sfunction; + typedef sfunction::scomplex scomplex; + typedef scomplex::simplex_order::boundary_matrix bm; bool setupcalled; - scomplex c1, c2, c3; - scomplex::SimplexOrder o1, o2, o3, o3b; + scomplex c; + sfunction f1, f2, f3; + scomplex::simplex_order o1, o3b; public: - SimplicialComplexTestSuite() : + simplicial_complex_TestSuite() : setupcalled(false), - o1(c1), - o2(c2), - o3(c3), - o3b(c3) + f1(c), + f2(c), + f3(c), + o1(c), + o3b(c) { - TEST_ADD(SimplicialComplexTestSuite::test_isComplex); - TEST_ADD(SimplicialComplexTestSuite::test_isMonotoneComplex); - TEST_ADD(SimplicialComplexTestSuite::test_isOrderFiltration); - TEST_ADD(SimplicialComplexTestSuite::test_isOrderMonotone); - TEST_ADD(SimplicialComplexTestSuite::test_boundaryMatrix); + TEST_ADD(simplicial_complex_TestSuite::test_is_complex); + TEST_ADD(simplicial_complex_TestSuite::test_is_function_monotone); + TEST_ADD(simplicial_complex_TestSuite::test_is_order_filtration); + TEST_ADD(simplicial_complex_TestSuite::test_is_order_monotone); + TEST_ADD(simplicial_complex_TestSuite::test_boundary_matrix); } protected: @@ -40,128 +43,102 @@ class SimplicialComplexTestSuite: public Test::Suite { return; setupcalled = true; - const unsigned num = 11; - scomplex::Simplex ss[num] = { - // dimension, faces, value... - {0, {0, 0, 0}, 0}, - {0, {0, 0, 0}, 1}, - {0, {0, 0, 0}, 2}, - {0, {0, 0, 0}, 3}, - {1, {0, 1, 0}, 4}, - {1, {1, 2, 0}, 5}, - {1, {2, 3, 0}, 6}, - {1, {3, 0, 0}, 7}, - {1, {0, 2, 0}, 8}, - {2, {6, 7, 8}, 9}, - {2, {4, 5, 8}, 10} + typedef sfunction::valuedsimplex vsimpl; + + sfunction::valuedsimplex ss[] = { + // {dimension, faces}, value + {{0, {}}, 1}, + {{0, {}}, 2}, + {{0, {}}, 3}, + {{0, {}}, 4}, + {{1, {1, 2}}, 5}, + {{1, {2, 3}}, 6}, + {{1, {3, 4}}, 7}, + {{1, {4, 1}}, 8}, + {{1, {1, 3}}, 9}, + {{2, {7, 8, 9}}, 10}, + {{2, {5, 6, 9}}, 11} }; + const size_t cntss = sizeof(ss)/sizeof(sfunction::valuedsimplex); + f1.add_simplices(ss, cntss); - // This is o1 This is o2 This is o3(b) + // This is f1 This is f2 This is f3 // (value = index) (values) (values) // - // 0 ----4---- 1 0 ----4---- 1 0 ----4---- 1 - // |\ | |\ | |\ | - // | \ 10 | | \ 10 | | \ 12 | - // | \ | | \ | | \ | - // | \ | | \ | | \ | - // 7 8 5 7 8 11 7 8 11 - // | \ | | \ | | \ | - // | 9 \ | | 9 \ | | 9 \ | - // | \ | | \ | | \ | - // | \| | \| | \| - // 3 ----6---- 2 3 ----6---- 2 3 ----6---- 2 - - // Build the complex - for (unsigned i=0; i