@@ -111,3 +111,49 @@ 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_parameters (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\)\]\)' vs "
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\)\]\)' vs "
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 )
0 commit comments