X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=tests%2Fsimplicialcomplex.h;h=91d1c55532b2c6e1080efea3fd558fa3adb45aef;hb=HEAD;hp=afc9fab1c8f649603b4044f7c602bfd1e0b4a22b;hpb=929c696bfb48aa0f96ce2b70b1b926b5f2b2dede;p=libstick.git diff --git a/tests/simplicialcomplex.h b/tests/simplicialcomplex.h index afc9fab..91d1c55 100644 --- a/tests/simplicialcomplex.h +++ b/tests/simplicialcomplex.h @@ -4,36 +4,37 @@ #include #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(SimplicialComplexTestSuite::test_matrixreduction); + 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: @@ -42,23 +43,26 @@ class SimplicialComplexTestSuite: public Test::Suite { return; setupcalled = true; - const unsigned num = 11; - scomplex::Simplex ss[num] = { - // 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} + 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) // // 1 ----5---- 2 1 ----5---- 2 1 ----5---- 2 @@ -73,99 +77,62 @@ class SimplicialComplexTestSuite: public Test::Suite { // | \| | \| | \| // 4 ----7---- 3 4 ----7---- 3 4 ----7---- 3 - // Build the complex - for (unsigned i=0; i(b.size()); - - bm b_orig = b; - reduceBoundaryMatrix(b, v); - TEST_ASSERT(b == b_orig*v); - - //std::cout << std::endl << "after reduce: " << std::endl; - //std::cout << std::endl << b << std::endl; - //std::cout << std::endl << v << std::endl; - //std::cout << std::endl << (b_orig*v) << std::endl; - } }; #endif