test_b1_ch8.py 882 B

12345678910111213141516171819202122
  1. import unittest
  2. from src.parser import Parser
  3. from src.node import ExpressionNode as N, ExpressionLeaf as L
  4. from tests.parser import run_expressions
  5. class TestB1Ch8(unittest.TestCase):
  6. def test_diagnostic_test(self):
  7. run_expressions(Parser, [
  8. ('6*5^2', N('*', L(6), N('^', L(5), L(2)))),
  9. ('-5*(-3)^2', N('*', N('-', L(5)),
  10. N('^', N('-', L(3)), L(2)))),
  11. ('-5*(-3)^2', N('*', N('-', L(5)),
  12. N('^', N('-', L(3)), L(2)))),
  13. ('7p-3p', N('-', N('*', L(7), L('p')), N('*', L(3), L('p')))),
  14. ('-5a*-6', N('*', N('*', N('-', L(5)), L('a')),
  15. N('-', L(6)))),
  16. ('3a-8--5-2a', N('-', N('-', N('-', N('*', L(3), L('a')), L(8)),
  17. N('-', L(5))), N('*', L(2), L('a')))),
  18. ])