|
1 | 1 | # Test methods with long descriptive names can omit docstrings |
2 | | -# pylint: disable=missing-docstring |
3 | | -# pylint: disable=abstract-method |
| 2 | +# pylint: disable=missing-docstring, abstract-method, protected-access |
4 | 3 | import unittest |
5 | 4 | from unittest.mock import patch |
6 | 5 |
|
|
11 | 10 | ) |
12 | 11 | from Orange.preprocess.transformation import Identity |
13 | 12 | from Orange.widgets.data.owconcatenate import OWConcatenate |
14 | | - |
| 13 | +from Orange.widgets.utils.state_summary import format_summary_details, \ |
| 14 | + format_multiple_summaries |
15 | 15 | from Orange.widgets.tests.base import WidgetTest |
16 | 16 |
|
17 | 17 |
|
@@ -378,6 +378,49 @@ def test_different_number_decimals(self): |
378 | 378 | x = out_dom.attributes[0] |
379 | 379 | self.assertEqual(x.number_of_decimals, 4) |
380 | 380 |
|
| 381 | + def test_summary(self): |
| 382 | + """Check if the status bar is updated when data is received""" |
| 383 | + info = self.widget.info |
| 384 | + no_input, no_output = "No data on input", "No data on output" |
| 385 | + |
| 386 | + self.send_signal(self.widget.Inputs.primary_data, self.iris) |
| 387 | + data_list = [("Primary data", self.iris), ("", None)] |
| 388 | + summary, details = "150, 0", format_multiple_summaries(data_list) |
| 389 | + self.assertEqual(info._StateInfo__input_summary.brief, summary) |
| 390 | + self.assertEqual(info._StateInfo__input_summary.details, details) |
| 391 | + output = self.get_output(self.widget.Outputs.data) |
| 392 | + summary, details = f"{len(output)}", format_summary_details(output) |
| 393 | + self.assertEqual(info._StateInfo__output_summary.brief, summary) |
| 394 | + self.assertEqual(info._StateInfo__output_summary.details, details) |
| 395 | + |
| 396 | + self.send_signal(self.widget.Inputs.additional_data, self.titanic, 0) |
| 397 | + data_list = [("Primary data", self.iris), ("", self.titanic)] |
| 398 | + summary, details = "150, 2201", format_multiple_summaries(data_list) |
| 399 | + self.assertEqual(info._StateInfo__input_summary.brief, summary) |
| 400 | + self.assertEqual(info._StateInfo__input_summary.details, details) |
| 401 | + output = self.get_output(self.widget.Outputs.data) |
| 402 | + summary, details = f"{len(output)}", format_summary_details(output) |
| 403 | + self.assertEqual(info._StateInfo__output_summary.brief, summary) |
| 404 | + self.assertEqual(info._StateInfo__output_summary.details, details) |
| 405 | + |
| 406 | + self.send_signal(self.widget.Inputs.primary_data, None) |
| 407 | + self.send_signal(self.widget.Inputs.additional_data, self.iris, 1) |
| 408 | + data_list = [("Primary data", None), ("", self.titanic), ("", self.iris)] |
| 409 | + summary, details = "0, 2201, 150", format_multiple_summaries(data_list) |
| 410 | + self.assertEqual(info._StateInfo__input_summary.brief, summary) |
| 411 | + self.assertEqual(info._StateInfo__input_summary.details, details) |
| 412 | + output = self.get_output(self.widget.Outputs.data) |
| 413 | + summary, details = f"{len(output)}", format_summary_details(output) |
| 414 | + self.assertEqual(info._StateInfo__output_summary.brief, summary) |
| 415 | + self.assertEqual(info._StateInfo__output_summary.details, details) |
| 416 | + |
| 417 | + self.send_signal(self.widget.Inputs.additional_data, None, 0) |
| 418 | + self.send_signal(self.widget.Inputs.additional_data, None, 1) |
| 419 | + self.assertEqual(info._StateInfo__input_summary.brief, "") |
| 420 | + self.assertEqual(info._StateInfo__input_summary.details, no_input) |
| 421 | + self.assertEqual(info._StateInfo__output_summary.brief, "") |
| 422 | + self.assertEqual(info._StateInfo__output_summary.details, no_output) |
| 423 | + |
381 | 424 |
|
382 | 425 | if __name__ == "__main__": |
383 | 426 | unittest.main() |
0 commit comments