|
1 | 1 | # Test methods with long descriptive names can omit docstrings |
2 | | -# pylint: disable=missing-docstring |
| 2 | +# pylint: disable=missing-docstring, protected-access |
3 | 3 | import warnings |
4 | 4 | import unittest |
5 | 5 | from unittest.mock import patch |
|
12 | 12 | from Orange.data import Table, Domain, ContinuousVariable, DiscreteVariable |
13 | 13 | from Orange.preprocess import Continuize |
14 | 14 | from Orange.widgets.utils import colorpalettes |
| 15 | +from Orange.widgets.utils.state_summary import format_summary_details |
15 | 16 | from Orange.widgets.visualize.owheatmap import OWHeatMap, Clustering |
16 | 17 | from Orange.widgets.tests.base import WidgetTest, WidgetOutputsTestMixin, datasets |
17 | 18 |
|
@@ -273,6 +274,30 @@ def test_row_color_annotations(self): |
273 | 274 | widget.set_annotation_color_var(None) |
274 | 275 | self.assertFalse(widget.scene.widget.right_side_colors[0].isVisible()) |
275 | 276 |
|
| 277 | + def test_summary(self): |
| 278 | + """Check if status bar is updated when data is received""" |
| 279 | + info = self.widget.info |
| 280 | + no_input, no_output = "No data on input", "No data on output" |
| 281 | + |
| 282 | + data = self.housing |
| 283 | + self.send_signal(self.widget.Inputs.data, data) |
| 284 | + summary, details = f"{len(data)}", format_summary_details(data) |
| 285 | + self.assertEqual(info._StateInfo__input_summary.brief, summary) |
| 286 | + self.assertEqual(info._StateInfo__input_summary.details, details) |
| 287 | + self.assertEqual(info._StateInfo__output_summary.brief, "") |
| 288 | + self.assertEqual(info._StateInfo__output_summary.details, no_output) |
| 289 | + self._select_data() |
| 290 | + output = self.get_output(self.widget.Outputs.selected_data) |
| 291 | + summary, details = f"{len(output)}", format_summary_details(output) |
| 292 | + self.assertEqual(info._StateInfo__output_summary.brief, summary) |
| 293 | + self.assertEqual(info._StateInfo__output_summary.details, details) |
| 294 | + |
| 295 | + self.send_signal(self.widget.Inputs.data, None) |
| 296 | + self.assertEqual(info._StateInfo__input_summary.brief, "") |
| 297 | + self.assertEqual(info._StateInfo__input_summary.details, no_input) |
| 298 | + self.assertEqual(info._StateInfo__output_summary.brief, "") |
| 299 | + self.assertEqual(info._StateInfo__output_summary.details, no_output) |
| 300 | + |
276 | 301 |
|
277 | 302 | if __name__ == "__main__": |
278 | 303 | unittest.main() |
0 commit comments