def test_commandhandler_construct_required_option_with_default(self): with self.assertRaises(opttools.StructureError): def func(a, *, b): pass # pragma no cover opttools.CommandHandler(func, a='_a:=a', b='_b:str')\ (['test', '-a', 'vala', '-bvalb'])
def test_commandhandler_construct_mix_positional_and_variable_args(self): with self.assertRaises(opttools.StructureError): def func(a, *b): pass # pragma no cover opttools.CommandHandler(func)(['test'])
def test_commandhandler_construct_guess_parse_dict(self): def func(*, di={}): self.mock(di) opttools.CommandHandler(func)(['test', '--d', 'a=1,b=2,c']) self.mock.assert_called_once_with([('a', '1'), ('b', '2'), ('c', None)])
def test_commandhandler_parse_missing_option(self): with self.assertRaises(opttools.OptionError): def func(*, s): pass # pragma no cover opttools.CommandHandler(func, s=':str')(['test'])
def test_commandhandler_construct_hint_optional_without_default(self): with self.assertRaises(opttools.StructureError): def func(*, a, b): pass # pragma no cover opttools.CommandHandler(func, a='::', b='::=')(['test', 'a', 'b'])
def test_commandhandler_construct_hint_duplicate(self): with self.assertRaises(opttools.StructureError): def func(*, a, b): pass # pragma no cover opttools.CommandHandler(func, a='d', b='d')(['test', 'a', 'b'])
def test_commandhandler_construct_mono_positional_args(self): def func(input): self.mock(input) ch = opttools.CommandHandler(func, input='i::str=-') ch(['test', '--input=foobar']) self.mock.assert_called_once_with('foobar') with self.assertRaises(opttools.OptionError): ch(['test'])
def test_commandhandler_construct_guess_parse(self): def func(*, i=0, s='', b=False, l=[]): self.mock(i=i, s=s, b=b, l=l) opttools.CommandHandler(func)\ (['test', '--i', '16', '--s', 's', '--b', 'N', '--l', 'x,y,z']) self.mock.assert_called_once_with(i=16, s='s', b=False, l=['x', 'y', 'z'])
def test_commandhandler_construct(self): def func(*args, aflag=None, bflag=None, cflag=None): self.mock(*args, aflag=aflag, bflag=bflag, cflag=cflag) opttools.CommandHandler(func)( ['test', '--aflag', '--bflag', '--cflag']) self.mock.assert_called_once_with(aflag='None', bflag='None', cflag='None')
def test_commandhandler_construct_required_option(self): def func(a, *, b): self.mock(a, b) opttools.CommandHandler(func, a='_a:', b='_b:str')\ (['test', '-a', 'vala', '-bvalb'])
def test_commandhandler_construct_guess(self): def func(*, i=0, s='', b=False, l=[]): self.mock(i=i, s=s, b=b, l=l) opttools.CommandHandler(func)(['test']) self.mock.assert_called_once_with(i=0, s='', b=False, l=[])
def test_commandhandler_construct_hint(self): def func(*args, aflag=None, bflag=None, cflag=None): self.mock(*args, aflag=aflag, bflag=bflag, cflag=cflag) opttools.CommandHandler(func, aflag='_a', bflag='_b', cflag='_c::=-')\ (['test', '-a', '-b', '-c']) self.mock.assert_called_once_with(aflag='', bflag='', cflag='-')
def test_commandhandler_parse_integers_smart(self): def func(*, h, d, o, b): self.mock(h=h, d=d, o=o, b=b) opttools.CommandHandler(func, h='h:int', d='d:int', o='o:int', b='b:int')\ (['test', '-h', '0X10', '-d', '012', '-o', '0O10', '-b', '0B10']) self.mock.assert_called_once_with(h=16, d=10, o=8, b=2)
def test_commandhandler_parse_integers(self): def func(*, h, d, o, b): self.mock(h=h, d=d, o=o, b=b) opttools.CommandHandler(func, h='h:hex', d='d:dec', o='o:oct', b='b:bin')\ (['test', '-h', '10', '-d', '10', '-o', '10', '-b', '10']) self.mock.assert_called_once_with(h=16, d=10, o=8, b=2)