|
11 | 11 | from Orange.widgets.tests.base import WidgetTest |
12 | 12 | from Orange.widgets.utils.annotated_data import ANNOTATED_DATA_FEATURE_NAME |
13 | 13 | from Orange.widgets.utils.itemmodels import DomainModel |
| 14 | +from Orange.widgets.utils.state_summary import format_summary_details |
14 | 15 | from Orange.widgets.visualize.owdistributions import OWDistributions |
15 | 16 |
|
16 | 17 |
|
@@ -513,6 +514,32 @@ def test_report(self): |
513 | 514 | self.send_signal(widget.Inputs.data, self.iris) |
514 | 515 | widget.send_report() |
515 | 516 |
|
| 517 | + def test_summary(self): |
| 518 | + """Check if status bar is updated when data is received""" |
| 519 | + data, info = self.iris, self.widget.info |
| 520 | + no_input, no_output = "No data on input", "No data on output" |
| 521 | + |
| 522 | + self.send_signal(self.widget.Inputs.data, data) |
| 523 | + summary, details = f"{len(data)}", format_summary_details(data) |
| 524 | + self.assertEqual(info._StateInfo__input_summary.brief, summary) |
| 525 | + self.assertEqual(info._StateInfo__input_summary.details, details) |
| 526 | + self.assertEqual(info._StateInfo__output_summary.brief, "") |
| 527 | + self.assertEqual(info._StateInfo__output_summary.details, no_output) |
| 528 | + |
| 529 | + self._set_slider(0) |
| 530 | + self.widget.selection = {1, 2, 3, 5, 6, 9} |
| 531 | + self.widget._on_end_selecting() |
| 532 | + output = self.get_output(self.widget.Outputs.selected_data) |
| 533 | + summary, details = f"{len(output)}", format_summary_details(output) |
| 534 | + self.assertEqual(info._StateInfo__output_summary.brief, summary) |
| 535 | + self.assertEqual(info._StateInfo__output_summary.details, details) |
| 536 | + |
| 537 | + self.send_signal(self.widget.Inputs.data, None) |
| 538 | + self.assertEqual(info._StateInfo__input_summary.brief, "") |
| 539 | + self.assertEqual(info._StateInfo__input_summary.details, no_input) |
| 540 | + self.assertEqual(info._StateInfo__output_summary.brief, "") |
| 541 | + self.assertEqual(info._StateInfo__output_summary.details, no_output) |
| 542 | + |
516 | 543 |
|
517 | 544 | if __name__ == "__main__": |
518 | 545 | unittest.main() |
0 commit comments