Skip to content

Commit c7f8cb4

Browse files
committed
distances: Fix tests for OWDistance
1 parent 12710ce commit c7f8cb4

File tree

1 file changed

+2
-26
lines changed

1 file changed

+2
-26
lines changed

Orange/widgets/unsupervised/tests/test_owdistances.py

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import numpy as np
66

77
from Orange.data import Table
8-
from Orange.distance import MahalanobisDistance
98
from Orange.widgets.unsupervised.owdistances import OWDistances, METRICS
109
from Orange.widgets.tests.base import WidgetTest
1110

@@ -24,9 +23,7 @@ def test_distance_combo(self):
2423
"""Check distances when the metric changes"""
2524
self.assertEqual(self.widget.metrics_combo.count(), len(METRICS))
2625
self.send_signal(self.widget.Inputs.data, self.iris)
27-
for i, metric in enumerate(METRICS):
28-
if isinstance(metric, MahalanobisDistance):
29-
metric = MahalanobisDistance(self.iris)
26+
for i, (_, metric) in enumerate(METRICS):
3027
self.widget.metrics_combo.activated.emit(i)
3128
self.widget.metrics_combo.setCurrentIndex(i)
3229
self.send_signal(self.widget.Inputs.data, self.iris)
@@ -36,35 +33,14 @@ def test_distance_combo(self):
3633
def test_error_message(self):
3734
"""Check if error message appears and then disappears when
3835
data is removed from input"""
36+
self.widget.metric_idx = 2
3937
self.send_signal(self.widget.Inputs.data, self.iris)
4038
self.assertFalse(self.widget.Error.no_continuous_features.is_shown())
4139
self.send_signal(self.widget.Inputs.data, self.titanic)
4240
self.assertTrue(self.widget.Error.no_continuous_features.is_shown())
4341
self.send_signal(self.widget.Inputs.data, None)
4442
self.assertFalse(self.widget.Error.no_continuous_features.is_shown())
4543

46-
def test_mahalanobis_error(self):
47-
mah_index = [i for i, d in enumerate(METRICS)
48-
if isinstance(d, MahalanobisDistance)][0]
49-
self.widget.metric_idx = mah_index
50-
self.widget.autocommit = True
51-
52-
invalid = self.iris[:]
53-
invalid.X = np.vstack((invalid.X[0], invalid.X[0]))
54-
invalid.Y = np.vstack((invalid.Y[0], invalid.Y[0]))
55-
datasets = [self.iris, None, invalid]
56-
bad = [False, False, True]
57-
out = [True, False, False]
58-
59-
for data1, bad1, out1 in zip(datasets, bad, out):
60-
for data2, bad2, out2 in zip(datasets, bad, out):
61-
self.send_signal(self.widget.Inputs.data, data1)
62-
self.assertEqual(self.widget.Error.mahalanobis_error.is_shown(), bad1)
63-
self.assertEqual(self.get_output(self.widget.Outputs.distances) is not None, out1)
64-
self.send_signal(self.widget.Inputs.data, data2)
65-
self.assertEqual(self.widget.Error.mahalanobis_error.is_shown(), bad2)
66-
self.assertEqual(self.get_output(self.widget.Outputs.distances) is not None, out2)
67-
6844
def test_too_big_array(self):
6945
"""
7046
Users sees an error message when calculating too large arrays and Orange

0 commit comments

Comments
 (0)