From: Oleg Broytman Date: Sat, 9 Jul 2016 18:20:59 +0000 (+0300) Subject: Factor out parser.parse() into self._parse X-Git-Tag: v0.4~9 X-Git-Url: https://git.phdru.name/?p=phdru.name%2Fcgi-bin%2Fblog-ru%2Fsearch-tags.git;a=commitdiff_plain;h=10eee8c8713988ac4e6f8879a8222234c3ab31aa Factor out parser.parse() into self._parse --- diff --git a/parser/test_parser.py b/parser/test_parser.py index 4696047..4f2e176 100755 --- a/parser/test_parser.py +++ b/parser/test_parser.py @@ -7,47 +7,50 @@ class TestParser(unittest.TestCase): global parser from parser import parser + def _parse(self, input): + return parser.parse(input) + def test_02_tag(self): - self.assertEqual(parser.parse('xxx'), ('NAME', 'xxx')) + self.assertEqual(self._parse('xxx'), ('NAME', 'xxx')) def test_03_bad_tag(self): from ply.lex import LexError - self.assertRaises(LexError, parser.parse, 'XXX') + self.assertRaises(LexError, self._parse, 'XXX') def test_04_expression(self): - self.assertEqual(parser.parse('!(xxx&yyy)'), + self.assertEqual(self._parse('!(xxx&yyy)'), ('NOT', ('PARENS', ('AND', ('NAME', 'xxx'), ('NAME', 'yyy')))) ) - self.assertEqual(parser.parse('!(xxx & yyy)'), + self.assertEqual(self._parse('!(xxx & yyy)'), ('NOT', ('PARENS', ('AND', ('NAME', 'xxx'), ('NAME', 'yyy')))) ) - self.assertEqual(parser.parse('!xxx&yyy&zzz|ooo'), + self.assertEqual(self._parse('!xxx&yyy&zzz|ooo'), ('OR', ('AND', ('AND', ('NOT', ('NAME', 'xxx')), ('NAME', 'yyy')), ('NAME', 'zzz')), ('NAME', 'ooo')) ) - self.assertEqual(parser.parse('!(xxx && yyy)'), + self.assertEqual(self._parse('!(xxx && yyy)'), ('NOT', ('PARENS', ('AND', ('NAME', 'xxx'), ('NAME', 'yyy')))) ) - self.assertEqual(parser.parse('!(xxx || yyy)'), + self.assertEqual(self._parse('!(xxx || yyy)'), ('NOT', ('PARENS', ('OR', ('NAME', 'xxx'), ('NAME', 'yyy')))) ) - self.assertEqual(parser.parse('xxx and yyy'), + self.assertEqual(self._parse('xxx and yyy'), ('AND', ('NAME', 'xxx'), ('NAME', 'yyy')) ) - self.assertEqual(parser.parse('xxx or yyy'), + self.assertEqual(self._parse('xxx or yyy'), ('OR', ('NAME', 'xxx'), ('NAME', 'yyy')) ) - self.assertEqual(parser.parse('xxx OR yyy'), + self.assertEqual(self._parse('xxx OR yyy'), ('OR', ('NAME', 'xxx'), ('NAME', 'yyy')) ) - self.assertEqual(parser.parse('not xxx'), + self.assertEqual(self._parse('not xxx'), ('NOT', ('NAME', 'xxx')) ) - self.assertEqual(parser.parse('NOT xxx'), + self.assertEqual(self._parse('NOT xxx'), ('NOT', ('NAME', 'xxx')) ) def test_05_bad_expression(self): - self.assertIs(parser.parse('!(xxx&yyy'), None) + self.assertIs(self._parse('!(xxx&yyy'), None) if __name__ == "__main__": unittest.main()