diff options
Diffstat (limited to 'src/cython/test/test_cubical_complex.py')
-rwxr-xr-x | src/cython/test/test_cubical_complex.py | 85 |
1 files changed, 43 insertions, 42 deletions
diff --git a/src/cython/test/test_cubical_complex.py b/src/cython/test/test_cubical_complex.py index 92e591e9..68f54fbe 100755 --- a/src/cython/test/test_cubical_complex.py +++ b/src/cython/test/test_cubical_complex.py @@ -1,30 +1,18 @@ from gudhi import CubicalComplex -"""This file is part of the Gudhi Library. The Gudhi library - (Geometric Understanding in Higher Dimensions) is a generic C++ - library for computational topology. +""" This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT. + See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details. + Author(s): Vincent Rouvreau - Author(s): Vincent Rouvreau + Copyright (C) 2016 Inria - Copyright (C) 2016 Inria - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. + Modification(s): + - YYYY/MM Author: Description of the modification """ __author__ = "Vincent Rouvreau" __copyright__ = "Copyright (C) 2016 Inria" -__license__ = "GPL v3" +__license__ = "MIT" def test_empty_constructor(): @@ -33,65 +21,78 @@ def test_empty_constructor(): assert cub.__is_defined() == False assert cub.__is_persistence_defined() == False + def test_non_existing_perseus_file_constructor(): # Try to open a non existing file - cub = CubicalComplex(perseus_file='pouetpouettralala.toubiloubabdou') + cub = CubicalComplex(perseus_file="pouetpouettralala.toubiloubabdou") assert cub.__is_defined() == False assert cub.__is_persistence_defined() == False + def test_dimension_or_perseus_file_constructor(): # Create test file - test_file = open('CubicalOneSphere.txt', 'w') - test_file.write('2\n3\n3\n0\n0\n0\n0\n100\n0\n0\n0\n0\n') + test_file = open("CubicalOneSphere.txt", "w") + test_file.write("2\n3\n3\n0\n0\n0\n0\n100\n0\n0\n0\n0\n") test_file.close() # CubicalComplex can be constructed from dimensions and # top_dimensional_cells OR from a Perseus-style file name. - cub = CubicalComplex(dimensions=[3, 3], - top_dimensional_cells = [1,2,3,4,5,6,7,8,9], - perseus_file='CubicalOneSphere.txt') + cub = CubicalComplex( + dimensions=[3, 3], + top_dimensional_cells=[1, 2, 3, 4, 5, 6, 7, 8, 9], + perseus_file="CubicalOneSphere.txt", + ) assert cub.__is_defined() == False assert cub.__is_persistence_defined() == False - cub = CubicalComplex(top_dimensional_cells = [1,2,3,4,5,6,7,8,9], - perseus_file='CubicalOneSphere.txt') + cub = CubicalComplex( + top_dimensional_cells=[1, 2, 3, 4, 5, 6, 7, 8, 9], + perseus_file="CubicalOneSphere.txt", + ) assert cub.__is_defined() == False assert cub.__is_persistence_defined() == False - cub = CubicalComplex(dimensions=[3, 3], - perseus_file='CubicalOneSphere.txt') + cub = CubicalComplex(dimensions=[3, 3], perseus_file="CubicalOneSphere.txt") assert cub.__is_defined() == False assert cub.__is_persistence_defined() == False + def test_dimension_simple_constructor(): - cub = CubicalComplex(dimensions=[3, 3], - top_dimensional_cells = [1,2,3,4,5,6,7,8,9]) + cub = CubicalComplex( + dimensions=[3, 3], top_dimensional_cells=[1, 2, 3, 4, 5, 6, 7, 8, 9] + ) assert cub.__is_defined() == True assert cub.__is_persistence_defined() == False - assert cub.persistence() == [(0, (1.0, float('inf')))] + assert cub.persistence() == [(0, (1.0, float("inf")))] assert cub.__is_persistence_defined() == True assert cub.betti_numbers() == [1, 0, 0] assert cub.persistent_betti_numbers(0, 1000) == [0, 0, 0] + def test_user_case_simple_constructor(): - cub = CubicalComplex(dimensions=[3, 3], - top_dimensional_cells = [float('inf'), 0.,0.,0.,1.,0.,0.,0.,0.]) + cub = CubicalComplex( + dimensions=[3, 3], + top_dimensional_cells=[float("inf"), 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], + ) assert cub.__is_defined() == True assert cub.__is_persistence_defined() == False - assert cub.persistence() == [(1, (0.0, 1.0)), (0, (0.0, float('inf')))] + assert cub.persistence() == [(1, (0.0, 1.0)), (0, (0.0, float("inf")))] assert cub.__is_persistence_defined() == True - other_cub = CubicalComplex(dimensions=[3, 3], - top_dimensional_cells = [1000., 0.,0.,0.,1.,0.,0.,0.,0.]) - assert other_cub.persistence() == [(1, (0.0, 1.0)), (0, (0.0, float('inf')))] + other_cub = CubicalComplex( + dimensions=[3, 3], + top_dimensional_cells=[1000.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0], + ) + assert other_cub.persistence() == [(1, (0.0, 1.0)), (0, (0.0, float("inf")))] + def test_dimension_file_constructor(): # Create test file - test_file = open('CubicalOneSphere.txt', 'w') - test_file.write('2\n3\n3\n0\n0\n0\n0\n100\n0\n0\n0\n0\n') + test_file = open("CubicalOneSphere.txt", "w") + test_file.write("2\n3\n3\n0\n0\n0\n0\n100\n0\n0\n0\n0\n") test_file.close() - cub = CubicalComplex(perseus_file='CubicalOneSphere.txt') + cub = CubicalComplex(perseus_file="CubicalOneSphere.txt") assert cub.__is_defined() == True assert cub.__is_persistence_defined() == False - assert cub.persistence() == [(1, (0.0, 100.0)), (0, (0.0, float('inf')))] + assert cub.persistence() == [(1, (0.0, 100.0)), (0, (0.0, float("inf")))] assert cub.__is_persistence_defined() == True assert cub.betti_numbers() == [1, 0, 0] assert cub.persistent_betti_numbers(0, 1000) == [1, 0, 0] |