def test_same_arg_in_two_places(self):
     arg_spec = dict(self.NO_ARGS)
     arg_spec['optional_before'] = ['a']
     arg_spec['required'] = ['a']
     with self.assertRaisesRegexp(
             ValueError,
             "argument 'a' is in both 'optional_before' an 'required'"):
         parse_arg_list([], **arg_spec)
 def test_option_defaults(self):
     args = parse_arg_list(['req-value'], **self.EVERYTHING)
     self.assertFalse(args.optionFlag)
     self.assertTrue(args.optionArg is None)
     self.assertEqual([], args.list)
     self.assertEqual('req-value', args.required)
     self.assertTrue(args.optional is None)
 def test_all_there(self):
     args = parse_arg_list([
         '--optionFlag', '--optionArg', '99', '--list', '1', '--list', '2',
         'b', 'c'
     ], **self.EVERYTHING)  # yapf disable
     self.assertTrue(args.optionFlag)
     self.assertEqual(99, args.optionArg)
     self.assertEqual('b', args.required)
     self.assertEqual(['1', '2'], args.list)
     self.assertEqual('c', args.optional)
 def test_optional_before(self):
     args = parse_arg_list(['a', 'b'], **self.BEFORE_AND_AFTER)
     self.assertEqual(('a', 'b', None),
                      (args.optionalBefore, args.required, args.optional))
 def test_optional_arg_missing_value(self):
     args = parse_arg_list(['--optionArg'], **self.EVERYTHING)
     self.assertTrue(args is None)
 def test_unexpected_arg(self):
     args = parse_arg_list(['badArg'], **self.NO_ARGS)
     self.assertTrue(args is None)
 def test_unexpected_flag(self):
     args = parse_arg_list(['--badFlag'], **self.NO_ARGS)
     self.assertTrue(args is None)
 def test_no_args(self):
     args = parse_arg_list([], **self.NO_ARGS)
     self.assertTrue(args is not None)