def test_find_best_match_gets_exception(self):
        _input = Mock(spec=Input)
        output = Mock(spec=Output)
        patterns = 'foo,bar\nfoo,bar\n'
        pm = PathMatcher(patterns, _input, output)

        with pytest.raises(MultipleMatchesError):
            pm.find_best_match('foo/bar')
    def test_find_best_match_finds_no_match(self):
        _input = Mock(spec=Input)
        output = Mock(spec=Output)
        patterns = ''
        pm = PathMatcher(patterns, _input, output)

        match = pm.find_best_match('foo/bar')
        assert match == 'NO MATCH'
    def test_find_best_match_finds_match(self):
        _input = Mock(spec=Input)
        output = Mock(spec=Output)
        patterns = '*,bar\n'
        pm = PathMatcher(patterns, _input, output)

        match = pm.find_best_match('foo/bar')
        assert str(match) == '*,bar'