Ejemplo n.º 1
0
 def test_update_parser(self, update_parser):
     apm = argument.ArgumentParseManager('exe', {})
     apm.update_parser()
     self.assertEqual(len(update_parser.mock_calls), 0)
     expd = dict(k1=argument.Argument(0, parsed_name='-a'),
                 k2=argument.Argument(0, parsed_name='-b'))
     apm.update_parser(expd)
     self.assertEqual(len(update_parser.mock_calls), 2)
Ejemplo n.º 2
0
 def test_unparsed(self, parse):
     apm = argument.ArgumentParseManager('exe', {})
     self.assertEqual(apm.unparsed, None)
     exp = 'you have been unparsed'
     apm._unparsed = exp
     self.assertEqual(apm.unparsed, exp)
     apm._parser_modified = True
     apm._unparsed = exp + ' v2'
     self.assertEqual(apm.unparsed, exp + ' v2')
     self.assertEqual(parse.mock_calls, [call(), call()])
Ejemplo n.º 3
0
 def test_arguments(self, update_parser):
     apm = argument.ArgumentParseManager('exe', {})
     assert update_parser.call_count == 1
     exp = {'k1': 'v1', 'k2': 'v2'}
     apm.arguments = exp
     assert_dicts_are_equal(self, apm.arguments, exp)
     self.assertEqual(update_parser.mock_calls[-1], call())
     try:
         apm.arguments = None
     except Exception as e:
         self.assertTrue(isinstance(e, AssertionError))
Ejemplo n.º 4
0
 def test_update_arguments(self):
     (inp, cor, exp) = ({
         'k1': 'v1',
         'k2': 'v3'
     }, {
         'k2': 'v2'
     }, {
         'k1': 'v1',
         'k2': 'v2'
     })
     apm = argument.ArgumentParseManager('exe', {})
     with patch('%s.ArgumentParseManager.update_parser' % arg_path) as UP:
         apm.update_arguments(None)
         self.assertEqual(len(UP.mock_calls), 0)
         apm._arguments = inp
         apm.update_arguments(cor)
         assert_dicts_are_equal(self, apm.arguments, exp)
         UP.assert_called_once_with()
Ejemplo n.º 5
0
    def test___init__(self, parse, update_parser):
        for arguments in ({}, {'k1': 'v1', 'k2': 'v2'}):
            apm = argument.ArgumentParseManager('exe', arguments)
            self.assertTrue(isinstance(apm, argument.ArgumentParseManager))

            self.assertTrue(isinstance(apm.parser, argument.ArgumentParser))
            self.assertFalse(apm.parser.add_help)
            self.assertEqual(apm.parser.formatter_class,
                             argument.RawDescriptionHelpFormatter)

            self.assertEqual(apm.syntax,
                             'exe <cmd_group> [<cmd_subbroup> ...] <cmd>')
            assert_dicts_are_equal(self, apm.arguments, arguments)
            self.assertFalse(apm._parser_modified)
            self.assertEqual(apm._parsed, None)
            self.assertEqual(apm._unparsed, None)
            self.assertEqual(parse.mock_calls[-1], call())
            if arguments:
                assert update_parser.call_count == 2
Ejemplo n.º 6
0
 def test_parse(self):
     apm = argument.ArgumentParseManager('exe', {})
     parsed, unparsed = apm.parser.parse_known_args()
     apm.parse()
     self.assertEqual(apm._parsed, parsed)
     self.assertEqual(apm.unparsed, unparsed)
Ejemplo n.º 7
0
 def test_syntax(self):
     apm = argument.ArgumentParseManager('exe', {})
     self.assertEqual(apm.syntax,
                      'exe <cmd_group> [<cmd_subbroup> ...] <cmd>')
     apm.syntax = 'some syntax'
     self.assertEqual(apm.syntax, 'some syntax')