5050 key += " : " + str (m [0 ].__name__ )
5151 ids .append (key )
5252
53+ escape_fmlas = fmlas [:2 ] + fmlas [3 :]
54+ escape_params = list (product (escape_fmlas , models ))
55+
56+ escape_ids = []
57+ for f , m in escape_params :
58+ key = "--" .join ([value for value in f .values ()])
59+ key += " : " + str (m [0 ].__name__ )
60+ escape_ids .append (key )
61+
5362
5463def sigmoid (v ):
5564 return np .exp (v ) / (1 + np .exp (v ))
@@ -62,6 +71,13 @@ def config(request):
6271 return fmla , model , interface
6372
6473
74+ @pytest .fixture (scope = "module" , params = escape_params , ids = escape_ids )
75+ def escape_config (request ):
76+ fmla , model_interace = request .param
77+ model , interface = model_interace
78+ return fmla , model , interface
79+
80+
6581def test_formula (config ):
6682 fmla , model , interface = config
6783 for key in fmla :
@@ -182,8 +198,8 @@ def test_parser(config):
182198 assert_frame_equal (eq1 [key ], eq2 [key ])
183199
184200
185- def test_formula_escaped (config ):
186- fmla , model , interface = config
201+ def test_formula_escaped (escape_config ):
202+ fmla , model , interface = escape_config
187203 for key in fmla :
188204 if "[" in fmla [key ] and model not in (IVSystemGMM , IV3SLS ):
189205 return
@@ -205,6 +221,7 @@ def fix_formula(fmla):
205221 escaped_fmla = fix_formula (fmla )
206222 data = joined .copy ()
207223 data .columns = cols
224+
208225 mod = model .from_formula (escaped_fmla , data )
209226 pmod = pickle .loads (pickle .dumps (mod ))
210227 mod_fmla = interface (escaped_fmla , data )
0 commit comments