Example #1
0
    def test_matches_an_option_in_arguments(self):
        parser = Parse(['/usr/bin/foo', '--foo'])
        parser.options = ['--foo']
        parser.parse_args()

        assert parser == {} # No key/values
        assert parser.has('--foo') # But it does exist
Example #2
0
 def test_matches_mixed_values_and_arguments(self):
     parser = Parse(['/bin/tambo', '--foo', 'FOO', '--bar'])
     parser.parse_args()
     assert parser._arg_count['--foo'] == 0
     assert parser._arg_count['--bar'] == 2
     assert parser._count_arg[1]       == 'FOO'
     assert parser._count_arg.get(3)   == None
Example #3
0
 def test_matches_valid_configured_options_only(self):
     parser = Parse(['/bin/tambo', '--foo', 'off', '--meh'])
     parser.options = ['--foo']
     parser.parse_args()
     assert parser.has('--foo')
     assert parser.has('--meh')
     assert parser.get('--foo') == 'off'
     assert parser.get('--meh') is None
Example #4
0
class Test_get_values_from_arguments(object):

    def setup(self):
        self.parser = Parse(['/bin/tambo', '--foo', 'BAR', '--bar'])
        self.parser.parse_args()

    def test_returns_a_valid_value_from_a_matching_argument(self):
        assert self.parser._get_value('--foo') == 'BAR'

    def test_returns_None_when_an_argument_does_not_exist(self):
        assert self.parser._get_value('--meh') == None

    def test_returns_None_when_an_argument_does_not_have_a_value(self):
        assert self.parser._get_value('--bar') == None
Example #5
0
class Test_has_or_does_not_have_options(object):

    def setup(self):
        self.parser = Parse(['/bin/tambo', '--foo', 'BAR', '--bar'])
        self.parser.parse_args()

    def test_accepts_lists_and_returns_if_one_matches(self):
        opt = ['a', 'b', '--foo']
        assert self.parser.has(opt) == True

    def test_returns_none_if_cannot_match_from_a_list(self):
        opt = ['a', 'b']
        assert self.parser.has(opt) == False

    def test_deals_with_single_items_that_match(self):
        assert self.parser.has('--foo') == True

    def test_returns_False_when_a_single_item_does_not_match(self):
        assert self.parser.has('--asdadfoo') == False
Example #6
0
 def test_deals_with_a_tuple_of_tuples_in_options(self):
     parser = Parse(['/bin/tambo', '--bar'])
     parser.options = ('--foo', ('--bar', 'bar'))
     parser.parse_args()
     assert parser._arg_count['--bar'] == 0
     assert parser.get('--bar') is None
Example #7
0
 def test_can_handle_a_tuple_as_options(self):
     parser = Parse(['foo', '--bar', 'baz'])
     parser.options = [('-b', '--bar')]
     parser.parse_args()
     assert parser.get('--bar') == 'baz'
Example #8
0
 def test_deals_with_lists_of_lists_in_options(self):
     parser = Parse(['/bin/tambo', '--bar'])
     parser.options = ['--foo', ['--bar', 'bar']]
     parser.parse_args()
     assert parser._arg_count['--bar'] == 0
     assert parser.get('--bar') is None
Example #9
0
 def test_matches_arguments_with_values(self):
     parser = Parse(['/usr/bin/foo', '--foo', 'BAR'])
     parser.parse_args()
     assert parser._arg_count['--foo'] == 0
     assert parser._count_arg[1]       == 'BAR'
Example #10
0
 def test_matches_arguments_with_no_values(self):
     parser = Parse(['/usr/bin/foo', '--foo'])
     parser.parse_args()
     assert parser._arg_count    == {'--foo' : 0}
     assert parser._count_arg[0] == '--foo'
Example #11
0
 def test_removes_the_first_item_in_the_list_always(self):
     parser = Parse([])
     parser.parse_args()
     assert parser.arguments == []
Example #12
0
 def test_matches_arguments_with_values_using_equal(self):
     parser = Parse(['/usr/bin/foo', '--foo=BAR'], options=['--foo'])
     parser.parse_args()
     assert parser.get('--foo') == 'BAR'