File tree Expand file tree Collapse file tree 2 files changed +14
-1
lines changed
Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -443,9 +443,14 @@ def set_data(self, data: Table) -> None:
443443 if data
444444 else {}
445445 )
446+ default_aggregations = self .aggregations .copy ()
446447
447448 self .openContext (self .data )
448449
450+ # restore aggregations
451+ self .aggregations .update ({k : v for k , v in default_aggregations .items ()
452+ if k not in self .aggregations })
453+
449454 # update selections in widgets and re-plot
450455 self .agg_table_model .set_domain (data .domain if data else None )
451456 self ._set_gb_selection ()
Original file line number Diff line number Diff line change 2020from Orange .widgets .tests .base import WidgetTest
2121
2222
23- class TestOWGropBy (WidgetTest ):
23+ class TestOWGroupBy (WidgetTest ):
2424 def setUp (self ) -> None :
2525 self .widget = self .create_widget (OWGroupBy )
2626 self .iris = Table ("iris" )
@@ -46,6 +46,14 @@ def test_data(self):
4646 self .send_signal (self .widget .Inputs .data , None )
4747 self .assertIsNone (self .get_output (self .widget .Outputs .data ))
4848
49+ def test_data_domain_changed (self ):
50+ self .send_signal (self .widget .Inputs .data , self .iris [:, - 2 :])
51+ self .assert_aggregations_equal (["Mean" , "Concatenate" ])
52+
53+ self .send_signal (self .widget .Inputs .data , self .iris [:, - 3 :])
54+ self .assert_aggregations_equal (["Mean" , "Mean" , "Concatenate" ])
55+ self .select_table_rows (self .widget .agg_table_view , [0 ])
56+
4957 @staticmethod
5058 def _set_selection (view : QListView , indices : List [int ]):
5159 view .clearSelection ()
You can’t perform that action at this time.
0 commit comments