11# Test methods with long descriptive names can omit docstrings
2- # pylint: disable=missing-docstring
2+ # pylint: disable=missing-docstring, protected-access
33from unittest .mock import Mock
44
55from numpy import testing as npt
99from Orange .widgets .data .owtransform import OWTransform
1010from Orange .widgets .tests .base import WidgetTest
1111from Orange .widgets .unsupervised .owpca import OWPCA
12+ from Orange .widgets .utils .state_summary import format_summary_details , \
13+ format_multiple_summaries
1214
1315
1416class TestOWTransform (WidgetTest ):
@@ -19,6 +21,8 @@ def setUp(self):
1921
2022 def test_output (self ):
2123 # send data and template data
24+ info = self .widget .info
25+ no_input , no_output = "No data on input" , "No data on output"
2226 self .send_signal (self .widget .Inputs .data , self .data [::15 ])
2327 self .send_signal (self .widget .Inputs .template_data , self .disc_data )
2428 output = self .get_output (self .widget .Outputs .transformed_data )
@@ -29,6 +33,13 @@ def test_output(self):
2933 self .widget .template_label .text ())
3034 self .assertEqual ("Output data includes 4 features." ,
3135 self .widget .output_label .text ())
36+ data_list = [("Data" , self .data [::15 ]), ("Template data" , self .disc_data )]
37+ summary , details = "10, 150" , format_multiple_summaries (data_list )
38+ self .assertEqual (info ._StateInfo__input_summary .brief , summary )
39+ self .assertEqual (info ._StateInfo__input_summary .details , details )
40+ summary , details = "10" , format_summary_details (output )
41+ self .assertEqual (info ._StateInfo__output_summary .brief , summary )
42+ self .assertEqual (info ._StateInfo__output_summary .details , details )
3243
3344 # remove template data
3445 self .send_signal (self .widget .Inputs .template_data , None )
@@ -39,6 +50,12 @@ def test_output(self):
3950 self .assertEqual ("No template data on input." ,
4051 self .widget .template_label .text ())
4152 self .assertEqual ("" , self .widget .output_label .text ())
53+ data_list = [("Data" , self .data [::15 ]), ("Template data" , None )]
54+ summary , details = "10, 0" , format_multiple_summaries (data_list )
55+ self .assertEqual (info ._StateInfo__input_summary .brief , summary )
56+ self .assertEqual (info ._StateInfo__input_summary .details , details )
57+ self .assertEqual (info ._StateInfo__output_summary .brief , "" )
58+ self .assertEqual (info ._StateInfo__output_summary .details , no_output )
4259
4360 # send template data
4461 self .send_signal (self .widget .Inputs .template_data , self .disc_data )
@@ -59,13 +76,23 @@ def test_output(self):
5976 self .assertEqual ("Template data includes 4 features." ,
6077 self .widget .template_label .text ())
6178 self .assertEqual ("" , self .widget .output_label .text ())
79+ data_list = [("Data" , None ), ("Template data" , self .disc_data )]
80+ summary , details = "0, 150" , format_multiple_summaries (data_list )
81+ self .assertEqual (info ._StateInfo__input_summary .brief , summary )
82+ self .assertEqual (info ._StateInfo__input_summary .details , details )
83+ self .assertEqual (info ._StateInfo__output_summary .brief , "" )
84+ self .assertEqual (info ._StateInfo__output_summary .details , no_output )
6285
6386 # remove template data
6487 self .send_signal (self .widget .Inputs .template_data , None )
6588 self .assertEqual ("No data on input." , self .widget .input_label .text ())
6689 self .assertEqual ("No template data on input." ,
6790 self .widget .template_label .text ())
6891 self .assertEqual ("" , self .widget .output_label .text ())
92+ self .assertEqual (info ._StateInfo__input_summary .brief , "" )
93+ self .assertEqual (info ._StateInfo__input_summary .details , no_input )
94+ self .assertEqual (info ._StateInfo__output_summary .brief , "" )
95+ self .assertEqual (info ._StateInfo__output_summary .details , no_output )
6996
7097 def assertTableEqual (self , table1 , table2 ):
7198 self .assertIs (table1 .domain , table2 .domain )
0 commit comments