|
10 | 10 | from AnyQt.QtTest import QTest |
11 | 11 |
|
12 | 12 | from Orange.data import (Table, Domain, ContinuousVariable as Cv, |
13 | | - StringVariable as sv, DiscreteVariable as Dv) |
| 13 | + StringVariable as sv, DiscreteVariable as Dv, |
| 14 | + TimeVariable as Tv) |
14 | 15 | from Orange.widgets.data.owpivot import (OWPivot, Pivot, |
15 | 16 | AggregationFunctionsEnum) |
16 | 17 | from Orange.widgets.tests.base import WidgetTest |
@@ -68,6 +69,16 @@ def test_output_grouped_data(self): |
68 | 69 | self.send_signal(self.widget.Inputs.data, None) |
69 | 70 | self.assertIsNone(self.get_output(self.widget.Outputs.grouped_data)) |
70 | 71 |
|
| 72 | + def test_output_grouped_data_time_var(self): |
| 73 | + domain = Domain([Dv("d1", ("a", "b")), Tv("t1", have_date=1)]) |
| 74 | + X = np.array([[0, 1e9], [0, 1e8], [1, 2e8], [1, np.nan]]) |
| 75 | + data = Table(domain, X) |
| 76 | + self.send_signal(self.widget.Inputs.data, data) |
| 77 | + self.agg_checkboxes[Pivot.Functions.Mean.value].click() |
| 78 | + grouped = self.get_output(self.widget.Outputs.grouped_data) |
| 79 | + str_grouped = "[[a, 2, 1987-06-06],\n [b, 2, 1976-05-03]]" |
| 80 | + self.assertEqual(str(grouped), str_grouped) |
| 81 | + |
71 | 82 | def test_output_filtered_data(self): |
72 | 83 | self.agg_checkboxes[Pivot.Functions.Sum.value].click() |
73 | 84 | self.send_signal(self.widget.Inputs.data, self.iris) |
@@ -333,6 +344,18 @@ def test_group_table(self): |
333 | 344 | [1, 2, 1, 1, 1, 1, 2, 1, 7, 7, 7, 7, 7, 7, 0]]) |
334 | 345 | self.assert_table_equal(group_tab, Table(Domain(domain[:2] + atts), X)) |
335 | 346 |
|
| 347 | + def test_group_table_time_var(self): |
| 348 | + domain = Domain([Dv("d1", ("a", "b")), Tv("t1", have_date=1)]) |
| 349 | + X = np.array([[0, 1e9], [0, 1e8], [1, 2e8], [1, np.nan]]) |
| 350 | + table = Table(domain, X) |
| 351 | + pivot = Pivot(table, Pivot.Functions, domain[0], val_var=domain[1]) |
| 352 | + str_grouped = \ |
| 353 | + "[[a, 2, 2, a, 2, 1.1e+09, 1987-06-06, 1973-03-03, " \ |
| 354 | + "2001-09-09, 1973-03-03, 1987-06-06, 2.025e+17],\n " \ |
| 355 | + "[b, 2, 2, b, 1, 2e+08, 1976-05-03, 1976-05-03, " \ |
| 356 | + "1976-05-03, 1976-05-03, 1976-05-03, 0]]" |
| 357 | + self.assertEqual(str(pivot.group_table), str_grouped) |
| 358 | + |
336 | 359 | def test_group_table_metas(self): |
337 | 360 | domain = Domain([Dv("d1", ("a", "b")), Cv("c1"), |
338 | 361 | Dv("d2", ("a", "b")), Cv("c2")]) |
|
0 commit comments