|
1 | 1 | # Test methods with long descriptive names can omit docstrings
|
2 |
| -# pylint: disable=missing-docstring |
| 2 | +# pylint: disable=missing-docstring,unsubscriptable-object |
3 | 3 | import unittest
|
4 |
| -from unittest.mock import patch |
| 4 | +from unittest.mock import patch, Mock |
5 | 5 | from pickle import loads, dumps
|
6 | 6 |
|
7 | 7 | import numpy as np
|
|
16 | 16 | AggregationFunctionsEnum)
|
17 | 17 | from Orange.widgets.tests.base import WidgetTest
|
18 | 18 | from Orange.widgets.tests.utils import simulate
|
19 |
| - |
| 19 | +from Orange.widgets.utils.state_summary import format_summary_details |
20 | 20 |
|
21 | 21 | class TestOWPivot(WidgetTest):
|
22 | 22 | def setUp(self):
|
@@ -232,6 +232,33 @@ def test_send_report(self):
|
232 | 232 | self.send_signal(self.widget.Inputs.data, None)
|
233 | 233 | self.widget.report_button.click()
|
234 | 234 |
|
| 235 | + def test_summary(self): |
| 236 | + """Check if the status bar is updated when data is received""" |
| 237 | + data = self.iris |
| 238 | + input_sum = self.widget.info.set_input_summary = Mock() |
| 239 | + output_sum = self.widget.info.set_output_summary = Mock() |
| 240 | + |
| 241 | + self.send_signal(self.widget.Inputs.data, data) |
| 242 | + input_sum.assert_called_with(len(data), format_summary_details(data)) |
| 243 | + output = self.get_output(self.widget.Outputs.filtered_data) |
| 244 | + self.assertIsNone(output) |
| 245 | + simulate.combobox_activate_item(self.widget.controls.row_feature, |
| 246 | + self.iris.domain.attributes[0].name) |
| 247 | + simulate.combobox_activate_item(self.widget.controls.col_feature, |
| 248 | + self.iris.domain.class_var.name) |
| 249 | + self.widget.table_view.set_selection(set([(11, 0), (11, 1), (12, 0)])) |
| 250 | + self.widget.table_view.selection_changed.emit() |
| 251 | + output = self.get_output(self.widget.Outputs.filtered_data) |
| 252 | + output_sum.assert_called_with(len(output), |
| 253 | + format_summary_details(output)) |
| 254 | + input_sum.reset_mock() |
| 255 | + output_sum.reset_mock() |
| 256 | + self.send_signal(self.widget.Inputs.data, None) |
| 257 | + input_sum.assert_called_once() |
| 258 | + self.assertEqual(input_sum.call_args[0][0].brief, "") |
| 259 | + output_sum.assert_called_once() |
| 260 | + self.assertEqual(output_sum.call_args[0][0].brief, "") |
| 261 | + |
235 | 262 |
|
236 | 263 | class TestAggregationFunctionsEnum(unittest.TestCase):
|
237 | 264 | def test_pickle(self):
|
|
0 commit comments