@@ -111,3 +111,85 @@ def test_are_flows_equal(self):
111111 self .assertRaises (ValueError ,
112112 openml .flows .functions .assert_flows_equal ,
113113 parent_flow , new_flow )
114+
115+ def test_are_flows_equal_ignore_parameter_values (self ):
116+ paramaters = OrderedDict ((('a' , 5 ), ('b' , 6 )))
117+ parameters_meta_info = OrderedDict ((('a' , None ), ('b' , None )))
118+
119+ flow = openml .flows .OpenMLFlow (name = 'Test' ,
120+ description = 'Test flow' ,
121+ model = None ,
122+ components = OrderedDict (),
123+ parameters = paramaters ,
124+ parameters_meta_info = parameters_meta_info ,
125+ external_version = '1' ,
126+ tags = ['abc' , 'def' ],
127+ language = 'English' ,
128+ dependencies = 'abc' ,
129+ class_name = 'Test' ,
130+ custom_name = 'Test' )
131+
132+ openml .flows .functions .assert_flows_equal (flow , flow )
133+ openml .flows .functions .assert_flows_equal (flow , flow ,
134+ ignore_parameter_values = True )
135+
136+ new_flow = copy .deepcopy (flow )
137+ new_flow .parameters ['a' ] = 7
138+ self .assertRaisesRegexp (ValueError , "values for attribute 'parameters' "
139+ "differ: 'OrderedDict\(\[\('a', "
140+ "5\), \('b', 6\)\]\)'\n vs\n "
141+ "'OrderedDict\(\[\('a', 7\), "
142+ "\('b', 6\)\]\)'" ,
143+ openml .flows .functions .assert_flows_equal ,
144+ flow , new_flow )
145+ openml .flows .functions .assert_flows_equal (flow , new_flow ,
146+ ignore_parameter_values = True )
147+
148+ del new_flow .parameters ['a' ]
149+ self .assertRaisesRegexp (ValueError , "values for attribute 'parameters' "
150+ "differ: 'OrderedDict\(\[\('a', "
151+ "5\), \('b', 6\)\]\)'\n vs\n "
152+ "'OrderedDict\(\[\('b', 6\)\]\)'" ,
153+ openml .flows .functions .assert_flows_equal ,
154+ flow , new_flow )
155+ self .assertRaisesRegexp (ValueError , "Flow Test: parameter set of flow "
156+ "differs from the parameters stored "
157+ "on the server." ,
158+ openml .flows .functions .assert_flows_equal ,
159+ flow , new_flow , ignore_parameter_values = True )
160+
161+ def test_are_flows_equal_ignore_if_older (self ):
162+ paramaters = OrderedDict ((('a' , 5 ), ('b' , 6 )))
163+ parameters_meta_info = OrderedDict ((('a' , None ), ('b' , None )))
164+
165+ flow = openml .flows .OpenMLFlow (name = 'Test' ,
166+ description = 'Test flow' ,
167+ model = None ,
168+ components = OrderedDict (),
169+ parameters = paramaters ,
170+ parameters_meta_info = parameters_meta_info ,
171+ external_version = '1' ,
172+ tags = ['abc' , 'def' ],
173+ language = 'English' ,
174+ dependencies = 'abc' ,
175+ class_name = 'Test' ,
176+ custom_name = 'Test' ,
177+ upload_date = '2017-01-31T12-01-01' )
178+
179+ openml .flows .functions .assert_flows_equal (flow , flow ,
180+ ignore_parameter_values_on_older_children = '2017-01-31T12-01-01' )
181+ openml .flows .functions .assert_flows_equal (flow , flow ,
182+ ignore_parameter_values_on_older_children = None )
183+ new_flow = copy .deepcopy (flow )
184+ new_flow .parameters ['a' ] = 7
185+ self .assertRaises (ValueError , openml .flows .functions .assert_flows_equal ,
186+ flow , new_flow , ignore_parameter_values_on_older_children = '2017-01-31T12-01-01' )
187+ self .assertRaises (ValueError , openml .flows .functions .assert_flows_equal ,
188+ flow , new_flow , ignore_parameter_values_on_older_children = None )
189+
190+ new_flow .upload_date = '2016-01-31T12-01-01'
191+ self .assertRaises (ValueError , openml .flows .functions .assert_flows_equal ,
192+ flow , new_flow ,
193+ ignore_parameter_values_on_older_children = '2017-01-31T12-01-01' )
194+ openml .flows .functions .assert_flows_equal (flow , flow ,
195+ ignore_parameter_values_on_older_children = None )
0 commit comments