| 12345678910111213141516171819202122232425 |
- from unittest import TestCase
- from src.parser import Parser
- from tests.parser import ParserWrapper
- def rewrite(exp, **kwargs):
- return ParserWrapper(Parser, **kwargs).run([exp, '@'])
- class TestRewrite(TestCase):
- def assertRewrite(self, rewrite_chain):
- try:
- for i, exp in enumerate(rewrite_chain[:-1]):
- self.assertEqual(str(rewrite(exp)), str(rewrite_chain[i+1]))
- except AssertionError:
- print exp, '->', rewrite_chain[i+1]
- raise
- def test_addition_rewrite(self):
- self.assertRewrite(['2 + 3 + 4', '5 + 4', '9'])
- def test_addition_identifiers_rewrite(self):
- self.assertRewrite(['2 + 3a + 4', '6 + 3a'])
|