@@ -58,26 +58,26 @@ def fake_func():
5858)
5959def test_apcustom_choices_callable_count (kwargs , is_valid ):
6060 parser = Cmd2ArgumentParser ()
61- try :
61+ if is_valid :
6262 parser .add_argument ('name' , ** kwargs )
63- assert is_valid
64- except ValueError as ex :
65- assert not is_valid
66- assert 'Only one of the following parameters' in str ( ex )
63+ else :
64+ expected_err = 'Only one of the following parameters'
65+ with pytest . raises ( ValueError , match = expected_err ):
66+ parser . add_argument ( 'name' , ** kwargs )
6767
6868
6969@pytest .mark .parametrize ('kwargs' , [({'choices_provider' : fake_func }), ({'completer' : fake_func })])
7070def test_apcustom_no_choices_callables_alongside_choices (kwargs ):
71+ parser = Cmd2ArgumentParser ()
7172 with pytest .raises (TypeError ) as excinfo :
72- parser = Cmd2ArgumentParser ()
7373 parser .add_argument ('name' , choices = ['my' , 'choices' , 'list' ], ** kwargs )
7474 assert 'None of the following parameters can be used alongside a choices parameter' in str (excinfo .value )
7575
7676
7777@pytest .mark .parametrize ('kwargs' , [({'choices_provider' : fake_func }), ({'completer' : fake_func })])
7878def test_apcustom_no_choices_callables_when_nargs_is_0 (kwargs ):
79+ parser = Cmd2ArgumentParser ()
7980 with pytest .raises (TypeError ) as excinfo :
80- parser = Cmd2ArgumentParser ()
8181 parser .add_argument ('--name' , action = 'store_true' , ** kwargs )
8282 assert 'None of the following parameters can be used on an action that takes no arguments' in str (excinfo .value )
8383
@@ -126,24 +126,24 @@ def test_apcustom_nargs_range_validation(cust_app):
126126 ],
127127)
128128def test_apcustom_narg_invalid_tuples (nargs_tuple ):
129- with pytest .raises (ValueError ) as excinfo :
130- parser = Cmd2ArgumentParser ()
129+ parser = Cmd2ArgumentParser ()
130+ expected_err = 'Ranged values for nargs must be a tuple of 1 or 2 integers'
131+ with pytest .raises (ValueError , match = expected_err ):
131132 parser .add_argument ('invalid_tuple' , nargs = nargs_tuple )
132- assert 'Ranged values for nargs must be a tuple of 1 or 2 integers' in str (excinfo .value )
133133
134134
135135def test_apcustom_narg_tuple_order ():
136- with pytest .raises (ValueError ) as excinfo :
137- parser = Cmd2ArgumentParser ()
136+ parser = Cmd2ArgumentParser ()
137+ expected_err = 'Invalid nargs range. The first value must be less than the second'
138+ with pytest .raises (ValueError , match = expected_err ):
138139 parser .add_argument ('invalid_tuple' , nargs = (2 , 1 ))
139- assert 'Invalid nargs range. The first value must be less than the second' in str (excinfo .value )
140140
141141
142142def test_apcustom_narg_tuple_negative ():
143- with pytest .raises (ValueError ) as excinfo :
144- parser = Cmd2ArgumentParser ()
143+ parser = Cmd2ArgumentParser ()
144+ expected_err = 'Negative numbers are invalid for nargs range'
145+ with pytest .raises (ValueError , match = expected_err ):
145146 parser .add_argument ('invalid_tuple' , nargs = (- 1 , 1 ))
146- assert 'Negative numbers are invalid for nargs range' in str (excinfo .value )
147147
148148
149149def test_apcustom_narg_tuple_zero_base ():
0 commit comments