def create(): p = Parser() p.require_one( p.str('x'), p.str('y'), p.str('z') ) return p
def create(): p = Parser() p.require_one( p.only_one_if_any( p.int('a'), p.int('b') ), p.only_one_if_any( p.int('c'), p.int('d') ) ) return p
def test_one_required(self): def create(): p = Parser() p.require_one( p.str('x'), p.str('y'), p.str('z') ) return p create()._process_command_line(['--x', '1']) create()._process_command_line(['--y', '1']) create()._process_command_line(['--z', '1']) self.assertRaises(ConflictError, create()._process_command_line, ['--x', '1', '--y', '1']) self.assertRaises(ArgumentError, create()._process_command_line, []) p = Parser() p.int('a') p.int('b') p.require_one('a', 'b') p._process_command_line(['--b', '3'])