|
3 | 3 |
|
4 | 4 | from unittest import TestCase |
5 | 5 |
|
| 6 | +import numpy as np |
| 7 | + |
6 | 8 | from AnyQt.QtCore import Qt |
7 | 9 |
|
8 | 10 | from Orange.data import Domain, ContinuousVariable, DiscreteVariable |
@@ -133,6 +135,30 @@ def test_sorting(self): |
133 | 135 | self.model.sort(1, Qt.DescendingOrder) |
134 | 136 | self.assertSequenceEqual(self.model.mapToSourceRows(...).tolist(), [0, 1]) |
135 | 137 |
|
| 138 | + def test_mapToSourceRows(self): |
| 139 | + model = PyTableModel([[1, 4], |
| 140 | + [2, 2], |
| 141 | + [3, 3]]) |
| 142 | + model.sort(1, Qt.AscendingOrder) |
| 143 | + self.assertSequenceEqual(model.mapToSourceRows(...).tolist(), [1, 2, 0]) |
| 144 | + self.assertEqual(model.mapToSourceRows(1).tolist(), 2) |
| 145 | + self.assertSequenceEqual(model.mapToSourceRows([1, 2]).tolist(), [2, 0]) |
| 146 | + self.assertSequenceEqual(model.mapToSourceRows([]), []) |
| 147 | + self.assertSequenceEqual( |
| 148 | + model.mapToSourceRows(np.array([], dtype=int)).tolist(), []) |
| 149 | + |
| 150 | + def test_mapFromSourceRows(self): |
| 151 | + model = PyTableModel([[1, 4], |
| 152 | + [2, 2], |
| 153 | + [3, 3]]) |
| 154 | + model.sort(1, Qt.AscendingOrder) |
| 155 | + self.assertSequenceEqual(model.mapFromSourceRows(...).tolist(), [2, 0, 1]) |
| 156 | + self.assertEqual(model.mapFromSourceRows(1).tolist(), 0) |
| 157 | + self.assertSequenceEqual(model.mapFromSourceRows([1, 2]).tolist(), [0, 1]) |
| 158 | + self.assertSequenceEqual(model.mapFromSourceRows([]), []) |
| 159 | + self.assertSequenceEqual( |
| 160 | + model.mapFromSourceRows(np.array([], dtype=int)).tolist(), []) |
| 161 | + |
136 | 162 |
|
137 | 163 | class TestPyListModel(TestCase): |
138 | 164 | @classmethod |
|
0 commit comments