|
1 | 1 | # pylint: disable=missing-docstring |
2 | 2 | # pylint: disable=protected-access |
| 3 | +import collections |
3 | 4 | import unittest |
4 | 5 |
|
5 | | -import collections |
6 | 6 | import numpy as np |
7 | | - |
8 | 7 | from AnyQt.QtWidgets import QMenu |
9 | 8 | from AnyQt.QtCore import QPoint |
10 | 9 |
|
11 | | -from Orange.data import Table, Domain |
12 | 10 | from Orange.classification import MajorityLearner |
13 | | -from Orange.regression import MeanLearner |
14 | | -from Orange.modelling import ConstantLearner |
15 | | - |
| 11 | +from Orange.data import Table, Domain |
16 | 12 | from Orange.evaluation import Results, TestOnTestData |
| 13 | +from Orange.modelling import ConstantLearner |
| 14 | +from Orange.regression import MeanLearner |
| 15 | +from Orange.widgets.evaluate.owtestlearners import ( |
| 16 | + OWTestLearners, results_one_vs_rest) |
| 17 | +from Orange.widgets.settings import ( |
| 18 | + ClassValuesContextHandler, PerfectDomainContextHandler) |
17 | 19 | from Orange.widgets.tests.base import WidgetTest |
18 | | -from Orange.widgets.evaluate.owtestlearners import OWTestLearners |
19 | | -from Orange.widgets.evaluate import owtestlearners |
20 | 20 |
|
21 | 21 |
|
22 | 22 | class TestOWTestLearners(WidgetTest): |
@@ -132,15 +132,22 @@ def execmenu(*_): |
132 | 132 | unittest.mock.patch("AnyQt.QtWidgets.QMenu.exec", execmenu): |
133 | 133 | w.show_column_chooser(QPoint(0, 0)) |
134 | 134 |
|
| 135 | + def test_migrate_removes_invalid_contexts(self): |
| 136 | + context_invalid = ClassValuesContextHandler().new_context([0, 1, 2]) |
| 137 | + context_valid = PerfectDomainContextHandler().new_context(*[[]] * 4) |
| 138 | + settings = {'context_settings': [context_invalid, context_valid]} |
| 139 | + self.widget.migrate_settings(settings, 2) |
| 140 | + self.assertEqual(settings['context_settings'], [context_valid]) |
| 141 | + |
135 | 142 |
|
136 | 143 | class TestHelpers(unittest.TestCase): |
137 | 144 | def test_results_one_vs_rest(self): |
138 | 145 | data = Table("lenses") |
139 | 146 | learners = [MajorityLearner()] |
140 | 147 | res = TestOnTestData(data[1::2], data[::2], learners=learners) |
141 | | - r1 = owtestlearners.results_one_vs_rest(res, pos_index=0) |
142 | | - r2 = owtestlearners.results_one_vs_rest(res, pos_index=1) |
143 | | - r3 = owtestlearners.results_one_vs_rest(res, pos_index=2) |
| 148 | + r1 = results_one_vs_rest(res, pos_index=0) |
| 149 | + r2 = results_one_vs_rest(res, pos_index=1) |
| 150 | + r3 = results_one_vs_rest(res, pos_index=2) |
144 | 151 |
|
145 | 152 | np.testing.assert_almost_equal(np.sum(r1.probabilities, axis=2), 1.0) |
146 | 153 | np.testing.assert_almost_equal(np.sum(r2.probabilities, axis=2), 1.0) |
|
0 commit comments