Skip to content

Commit 7465fb5

Browse files
committed
Improved tests
1 parent fa42c42 commit 7465fb5

1 file changed

Lines changed: 70 additions & 38 deletions

File tree

tests/test_unit_cover.py

Lines changed: 70 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
import numpy as np
22

33
from tdamapper.core import TrivialCover
4-
from tdamapper.cover import BallCover, CubicalCover, KNNCover
4+
from tdamapper.cover import (
5+
BallCover,
6+
KNNCover,
7+
ProximityCubicalCover,
8+
StandardCubicalCover,
9+
)
510

611

712
def test_trivial_cover_empty():
@@ -13,7 +18,14 @@ def test_trivial_cover_empty():
1318

1419

1520
def test_trivial_cover_ok():
16-
data = np.array([[0.0, 1.0], [1.0, 0.0], [0.0, 0.0], [1.0, 1.0]])
21+
data = np.array(
22+
[
23+
[0.0, 1.0],
24+
[1.0, 0.0],
25+
[0.0, 0.0],
26+
[1.0, 1.0],
27+
]
28+
)
1729
cover = TrivialCover()
1830
cover.fit(data)
1931
charts = list(cover.transform(data))
@@ -29,17 +41,24 @@ def test_ball_cover_empty():
2941

3042

3143
def test_ball_cover_ok():
32-
data = [
33-
np.array([0.0, 1.0]),
34-
np.array([1.0, 0.0]),
35-
np.array([0.0, 0.0]),
36-
np.array([1.0, 1.0]),
37-
]
44+
data = np.array(
45+
[
46+
[0.0, 1.0],
47+
[1.0, 0.0],
48+
[0.0, 0.0],
49+
[1.0, 1.0],
50+
]
51+
)
3852
cover = BallCover(radius=1.1, metric="euclidean")
3953
cover.fit(data)
4054
charts = list(cover.transform(data))
4155
assert 2 == len(charts)
4256

57+
data_extra = np.array([[1.25, 1.25], [1.7, 1.7]])
58+
charts = list(cover.transform(data_extra))
59+
assert 1 == len(charts)
60+
assert 2 == len(charts[0])
61+
4362

4463
def test_ball_cover_params():
4564
cover = BallCover(radius=1.0, metric="euclidean")
@@ -57,17 +76,24 @@ def test_knn_cover_empty():
5776

5877

5978
def test_knn_cover_ok():
60-
data = [
61-
np.array([0.0, 1.0]),
62-
np.array([1.1, 0.0]),
63-
np.array([0.0, 0.0]),
64-
np.array([1.1, 1.0]),
65-
]
79+
data = np.array(
80+
[
81+
[0.0, 1.0],
82+
[1.1, 0.0],
83+
[0.0, 0.0],
84+
[1.1, 1.0],
85+
]
86+
)
6687
cover = KNNCover(neighbors=2, metric="euclidean")
6788
cover.fit(data)
6889
charts = list(cover.transform(data))
6990
assert 2 == len(charts)
7091

92+
data_extra = np.array([[1.25, 1.25], [1.7, 1.7]])
93+
charts = list(cover.transform(data_extra))
94+
assert 1 == len(charts)
95+
assert 2 == len(charts[0])
96+
7197

7298
def test_knn_cover_params():
7399
cover = KNNCover(neighbors=2, metric="euclidean")
@@ -76,37 +102,44 @@ def test_knn_cover_params():
76102
assert "euclidean" == params["metric"]
77103

78104

79-
def test_cubical_cover_empty():
105+
def test_proximity_cubical_cover_empty():
80106
data = []
81-
cover = CubicalCover(n_intervals=2, overlap_frac=0.5)
107+
cover = ProximityCubicalCover(n_intervals=2, overlap_frac=0.5)
82108
cover.fit(data)
83109
charts = list(cover.transform(data))
84110
assert 0 == len(charts)
85111

86112

87-
def test_cubical_cover_ok():
88-
data = [
89-
np.array([0.0, 1.0]),
90-
np.array([1.1, 0.0]),
91-
np.array([0.0, 0.0]),
92-
np.array([1.1, 1.0]),
93-
]
94-
cover = CubicalCover(n_intervals=2, overlap_frac=0.5)
113+
def test_proximity_cubical_cover_ok():
114+
data = np.array(
115+
[
116+
[0.0, 1.0],
117+
[1.1, 0.0],
118+
[0.0, 0.0],
119+
[1.1, 1.0],
120+
]
121+
)
122+
cover = ProximityCubicalCover(n_intervals=2, overlap_frac=0.5)
95123
cover.fit(data)
96124
charts = list(cover.transform(data))
97125
assert 4 == len(charts)
98126

127+
data_extra = np.array([[1.25, 1.25], [1.26, 1.26]])
128+
charts = list(cover.transform(data_extra))
129+
assert 1 == len(charts)
130+
assert 2 == len(charts[0])
99131

100-
def test_cubical_cover_params():
101-
cover = CubicalCover(n_intervals=2, overlap_frac=0.5)
132+
133+
def test_proximity_cubical_cover_params():
134+
cover = ProximityCubicalCover(n_intervals=2, overlap_frac=0.5)
102135
params = cover.get_params(deep=True)
103136
assert 2 == params["n_intervals"]
104137
assert 0.5 == params["overlap_frac"]
105138

106139

107140
def test_standard_cover_empty():
108141
data = []
109-
cover = CubicalCover(
142+
cover = StandardCubicalCover(
110143
n_intervals=2,
111144
overlap_frac=0.5,
112145
)
@@ -116,29 +149,28 @@ def test_standard_cover_empty():
116149

117150

118151
def test_standard_cover_ok():
119-
data = [
120-
np.array([0.0, 1.0]),
121-
np.array([1.1, 0.0]),
122-
np.array([0.0, 0.0]),
123-
np.array([1.1, 1.0]),
124-
]
125-
cover = CubicalCover(
152+
data = np.array(
153+
[
154+
[0.0, 1.0],
155+
[1.1, 0.0],
156+
[0.0, 0.0],
157+
[1.1, 1.0],
158+
]
159+
)
160+
cover = StandardCubicalCover(
126161
n_intervals=2,
127162
overlap_frac=0.5,
128-
algorithm="standard",
129163
)
130164
cover.fit(data)
131165
charts = list(cover.transform(data))
132166
assert 4 == len(charts)
133167

134168

135169
def test_standard_cover_params():
136-
cover = CubicalCover(
170+
cover = StandardCubicalCover(
137171
n_intervals=2,
138172
overlap_frac=0.5,
139-
algorithm="standard",
140173
)
141174
params = cover.get_params(deep=True)
142175
assert 2 == params["n_intervals"]
143176
assert 0.5 == params["overlap_frac"]
144-
assert "standard" == params["algorithm"]

0 commit comments

Comments
 (0)