|
5 | 5 |
|
6 | 6 | from AnyQt.QtCore import Qt |
7 | 7 |
|
8 | | -from Orange.data import Domain, ContinuousVariable |
| 8 | +from Orange.data import Domain, ContinuousVariable, DiscreteVariable |
9 | 9 | from Orange.widgets.utils.itemmodels import \ |
10 | 10 | AbstractSortTableModel, PyTableModel, PyListModel, DomainModel, _argsort |
11 | 11 |
|
@@ -288,3 +288,25 @@ def test_subparts(self): |
288 | 288 | sorted(attrs + metas, key=lambda x: x.name) + |
289 | 289 | [sep] + |
290 | 290 | sorted(classes, key=lambda x: x.name)) |
| 291 | + |
| 292 | + def test_filtering(self): |
| 293 | + cont = [ContinuousVariable(n) for n in "abc"] |
| 294 | + disc = [DiscreteVariable(n) for n in "def"] |
| 295 | + attrs = cont + disc |
| 296 | + |
| 297 | + model = DomainModel(valid_types=(ContinuousVariable, )) |
| 298 | + model.set_domain(Domain(attrs)) |
| 299 | + self.assertEqual(list(model), cont) |
| 300 | + |
| 301 | + model = DomainModel(valid_types=(DiscreteVariable, )) |
| 302 | + model.set_domain(Domain(attrs)) |
| 303 | + self.assertEqual(list(model), disc) |
| 304 | + |
| 305 | + disc[0].attributes["hidden"] = True |
| 306 | + model.set_domain(Domain(attrs)) |
| 307 | + self.assertEqual(list(model), disc[1:]) |
| 308 | + |
| 309 | + model = DomainModel(valid_types=(DiscreteVariable, ), |
| 310 | + skip_hidden_vars=False) |
| 311 | + model.set_domain(Domain(attrs)) |
| 312 | + self.assertEqual(list(model), disc) |
0 commit comments