summaryrefslogtreecommitdiff
path: root/src/cython/test
diff options
context:
space:
mode:
authorvrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-05-09 10:59:11 +0000
committervrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-05-09 10:59:11 +0000
commitd9780fc1fda42d78038c327b05203e55e3b40fd0 (patch)
tree1f2c4e3ef4fe3a6650bc0a556a508dadddd53b03 /src/cython/test
parent134aaa68ab6a5983a9569a123a18550535afa2ef (diff)
Directory re-organization for Gudhi modules
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/ST_cythonize@1154 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: acfc931aee37c65ee2828e3873e9727b308e5d76
Diffstat (limited to 'src/cython/test')
-rwxr-xr-xsrc/cython/test/Simplex_tree_UT.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/cython/test/Simplex_tree_UT.py b/src/cython/test/Simplex_tree_UT.py
new file mode 100755
index 00000000..56113370
--- /dev/null
+++ b/src/cython/test/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