diff options
author | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2016-04-26 15:18:57 +0000 |
---|---|---|
committer | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2016-04-26 15:18:57 +0000 |
commit | 134aaa68ab6a5983a9569a123a18550535afa2ef (patch) | |
tree | 9e035276fe0c148972ea26f54ed55135ba8f166c /src | |
parent | a5661362f1a73f924965103b37fa0175839934d9 (diff) |
Unitary test of Simplex tree
Rename example
Makefile test part modification
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/ST_cythonize@1143 636b058d-ea47-450e-bf9e-a15bfbe3eedb
Former-commit-id: d70e1f471dfc6f4543335862b4c1aa5250e73343
Diffstat (limited to 'src')
-rw-r--r-- | src/cython/Makefile | 3 | ||||
-rwxr-xr-x | src/cython/Simplex_tree_UT.py | 73 | ||||
-rwxr-xr-x | src/cython/Simplex_tree_example.py (renamed from src/cython/main.py) | 0 |
3 files changed, 75 insertions, 1 deletions
diff --git a/src/cython/Makefile b/src/cython/Makefile index b694ab47..c17e9e09 100644 --- a/src/cython/Makefile +++ b/src/cython/Makefile @@ -2,7 +2,8 @@ ext: python setup.py build_ext --inplace test: - python main.py + python Simplex_tree_UT.py + python Simplex_tree_example.py clean: rm -rf build/ *.o *.so *.cpp diff --git a/src/cython/Simplex_tree_UT.py b/src/cython/Simplex_tree_UT.py new file mode 100755 index 00000000..56113370 --- /dev/null +++ b/src/cython/Simplex_tree_UT.py @@ -0,0 +1,73 @@ +import unittest + +import gudhi + +class TestSimplexTree(unittest.TestCase): + + def test_insertion(self): + st = gudhi.SimplexTree() + + # insert test + self.assertTrue(st.insert([0,1])) + self.assertTrue(st.insert([0,1,2], filtration=4.0)) + self.assertEqual(st.num_simplices(), 7) + self.assertEqual(st.num_vertices(), 3) + + # find test + self.assertTrue(st.find([0,1,2])) + self.assertTrue(st.find([0,1])) + self.assertTrue(st.find([0,2])) + self.assertTrue(st.find([0])) + self.assertTrue(st.find([1])) + self.assertTrue(st.find([2])) + self.assertFalse(st.find([3])) + self.assertFalse(st.find([0,3])) + self.assertFalse(st.find([1,3])) + self.assertFalse(st.find([2,3])) + + # filtration test + st.set_filtration(5.0) + st.initialize_filtration() + self.assertEqual(st.get_filtration(), 5.0) + self.assertEqual(st.filtration([0,1,2]), 4.0) + self.assertEqual(st.filtration([0,2]), 4.0) + self.assertEqual(st.filtration([1,2]), 4.0) + self.assertEqual(st.filtration([2]), 4.0) + self.assertEqual(st.filtration([0,1]), 0.0) + self.assertEqual(st.filtration([0]), 0.0) + self.assertEqual(st.filtration([1]), 0.0) + + # skeleton_tree test + self.assertEqual(st.get_skeleton_tree(2), [([0, 1, 2], 4.0), ([0, 1], 0.0), ([0, 2], 4.0), ([0], 0.0), ([1, 2], 4.0), ([1], 0.0), ([2], 4.0)]) + self.assertEqual(st.get_skeleton_tree(1), [([0, 1], 0.0), ([0, 2], 4.0), ([0], 0.0), ([1, 2], 4.0), ([1], 0.0), ([2], 4.0)]) + self.assertEqual(st.get_skeleton_tree(0), [([0], 0.0), ([1], 0.0), ([2], 4.0)]) + + def test_rips(self): + rips_complex = gudhi.SimplexTree(points=[[0,0],[1,0],[0,1],[1,1]],max_dimension=1,max_edge_length=42) + + self.assertEqual(rips_complex.num_simplices(), 10) + self.assertEqual(rips_complex.num_vertices(), 4) + + self.assertEqual(rips_complex.get_filtered_tree(), [([0], 0.0), ([1], 0.0), ([2], 0.0), ([3], 0.0), ([0, 1], 1.0), ([0, 2], 1.0), ([1, 3], 1.0), ([2, 3], 1.0), ([1, 2], 1.4142135623730951), ([0, 3], 1.4142135623730951)]) + self.assertEqual(rips_complex.get_star_tree([0]), [([0], 0.0), ([0, 1], 1.0), ([0, 2], 1.0), ([0, 3], 1.4142135623730951)]) + self.assertEqual(rips_complex.get_coface_tree([0], 1), [([0, 1], 1.0), ([0, 2], 1.0), ([0, 3], 1.4142135623730951)]) + + filtered_rips = gudhi.SimplexTree(points=[[0,0],[1,0],[0,1],[1,1]],max_dimension=1,max_edge_length=1.0) + self.assertEqual(filtered_rips.num_simplices(), 8) + self.assertEqual(filtered_rips.num_vertices(), 4) + + def test_split(self): + triangle012 = [0,1,2] + edge03 = [0,3] + mini_st = gudhi.MiniSimplexTree() + self.assertTrue(mini_st.insert(triangle012)) + self.assertTrue(mini_st.insert(edge03)) + # FIXME: Remove this line + mini_st.set_dimension(2); + + edge02 = [0,2] + self.assertTrue(mini_st.find(edge02)) + self.assertEqual(mini_st.get_coface_tree(edge02, 1), [([0, 1, 2], 0.0)]) + +if __name__ == '__main__': + unittest.main()
\ No newline at end of file diff --git a/src/cython/main.py b/src/cython/Simplex_tree_example.py index e9459588..e9459588 100755 --- a/src/cython/main.py +++ b/src/cython/Simplex_tree_example.py |