Skip to content

Commit 78b66da

Browse files
committed
Raising exception when overlap_frac <= 0
1 parent a287815 commit 78b66da

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

src/tdamapper/cover.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -303,10 +303,14 @@ def fit(self, X):
303303
else:
304304
self.__overlap_frac = self.overlap_frac
305305
self.__n_intervals = self.n_intervals
306-
if (self.__overlap_frac <= 0.0) or (self.__overlap_frac > 0.5):
306+
if self.__overlap_frac <= 0.0:
307+
raise ValueError(
308+
'The parameter overlap_frac is expected to be '
309+
'> 0.0'
310+
)
311+
if self.__overlap_frac > 0.5:
307312
warn_user(
308-
'The parameter overlap_frac is expected within range '
309-
'(0.0, 0.5]'
313+
'The parameter overlap_frac is expected to be <= 0.5'
310314
)
311315
self.__min, self.__max, self.__delta = self._get_bounds(X)
312316
radius = 1.0 / (2.0 - 2.0 * self.__overlap_frac)

tests/test_unit_core.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,14 @@ def test_cubical_line(self):
160160
g = mp.fit_transform(data, data)
161161
self.assertEqual(4, len(g.nodes))
162162

163+
def test_cubical_no_overlap(self):
164+
data = np.array([[0.0], [1.0], [2.0]])
165+
cover = StandardCubicalCover(n_intervals=2, overlap_frac=0)
166+
clustering = TrivialClustering()
167+
mp = MapperAlgorithm(cover, clustering)
168+
with self.assertRaises(ValueError):
169+
mp.fit_transform(data, data)
170+
163171
def test_mock_connected_components(self):
164172
data = [0, 1, 2, 3]
165173

0 commit comments

Comments
 (0)