44import numpy as np
55
66
7+ EXTRAS = ["none" , "all" , True , False , 3 ]
8+ FLAGS = ["lines" , "markers" , "text" ]
9+
710# Fixtures
811# --------
9- @pytest .fixture (params = [None , [ "none" , "all" ] ])
12+ @pytest .fixture (params = [None , EXTRAS ])
1013def validator (request ):
1114 # Validator with or without extras
12- return FlaglistValidator (
13- "prop" , "parent" , flags = ["lines" , "markers" , "text" ], extras = request .param
14- )
15+ return FlaglistValidator ("prop" , "parent" , flags = FLAGS , extras = request .param )
1516
1617
1718@pytest .fixture ()
1819def validator_extra ():
19- return FlaglistValidator (
20- "prop" , "parent" , flags = ["lines" , "markers" , "text" ], extras = ["none" , "all" ]
21- )
20+ return FlaglistValidator ("prop" , "parent" , flags = FLAGS , extras = EXTRAS )
2221
2322
2423@pytest .fixture ()
2524def validator_extra_aok ():
2625 return FlaglistValidator (
27- "prop" ,
28- "parent" ,
29- flags = ["lines" , "markers" , "text" ],
30- extras = ["none" , "all" ],
31- array_ok = True ,
26+ "prop" , "parent" , flags = FLAGS , extras = EXTRAS , array_ok = True ,
3227 )
3328
3429
3530@pytest .fixture (
3631 params = [
3732 "+" .join (p )
38- for i in range (1 , 4 )
39- for p in itertools .permutations ([ "lines" , "markers" , "text" ] , i )
33+ for i in range (1 , len ( FLAGS ) + 1 )
34+ for p in itertools .permutations (FLAGS , i )
4035 ]
4136)
4237def flaglist (request ):
4338 return request .param
4439
4540
46- @pytest .fixture (params = [ "none" , "all" ] )
41+ @pytest .fixture (params = EXTRAS )
4742def extra (request ):
4843 return request .param
4944
@@ -69,7 +64,7 @@ def test_coercion(in_val, coerce_val, validator):
6964
7065
7166# ### Rejection by type ###
72- @pytest .mark .parametrize ("val" , [21 , (), ["lines" ], set (), {}])
67+ @pytest .mark .parametrize ("val" , [(), ["lines" ], set (), {}])
7368def test_rejection_type (val , validator ):
7469 with pytest .raises (ValueError ) as validation_failure :
7570 validator .validate_coerce (val )
@@ -79,7 +74,7 @@ def test_rejection_type(val, validator):
7974
8075# ### Rejection by value ###
8176@pytest .mark .parametrize (
82- "val" , ["" , "line" , "markers+line" , "lin es" , "lin es+markers" ]
77+ "val" , ["" , "line" , "markers+line" , "lin es" , "lin es+markers" , 21 ]
8378)
8479def test_rejection_val (val , validator ):
8580 with pytest .raises (ValueError ) as validation_failure :
@@ -144,7 +139,7 @@ def test_acceptance_aok_scalarlist_flaglist(flaglist, validator_extra_aok):
144139 [
145140 ["all" , "markers" , "text+markers" ],
146141 ["lines" , "lines+markers" , "markers+lines+text" ],
147- ["all" , "all" , "lines+text" , "none" ] ,
142+ ["all" , "all" , "lines+text" ] + EXTRAS ,
148143 ],
149144)
150145def test_acceptance_aok_list_flaglist (val , validator_extra_aok ):
@@ -158,8 +153,8 @@ def test_acceptance_aok_list_flaglist(val, validator_extra_aok):
158153 "in_val,expected" ,
159154 [
160155 (
161- [" lines " , " lines + markers " , "lines ,markers" ],
162- ["lines" , "lines+markers" , "lines+markers" ],
156+ [" lines " , " lines + markers " , "lines ,markers" , " all " ],
157+ ["lines" , "lines+markers" , "lines+markers" , "all" ],
163158 ),
164159 (np .array (["text +lines" ]), np .array (["text+lines" ], dtype = "unicode" )),
165160 ],
0 commit comments