|
|
@@ -26,11 +26,18 @@ class TestLine(unittest.TestCase):
|
|
|
self.assertEquals(generate_line(times), '(1 + 2)(1 + 2)')
|
|
|
|
|
|
def test_parentheses_equal_precedence_right(self):
|
|
|
- l0, l1, l2 = L(1), L(2), L(3)
|
|
|
+ l0, l1, l2, l3 = L(1), L(2), L(3), L(4)
|
|
|
plus = N('+', l1, l2)
|
|
|
minus = N('-', l0, plus)
|
|
|
self.assertEquals(generate_line(minus), '1 - (2 + 3)')
|
|
|
|
|
|
+ power = N('^', l0, N('^', l1, l2))
|
|
|
+ self.assertEquals(generate_line(power), '1 ^ 2 ^ 3')
|
|
|
+ power = N('^', N('^', l0, l1), l2)
|
|
|
+ self.assertEquals(generate_line(power), '(1 ^ 2) ^ 3')
|
|
|
+ power = N('^', l0, N('^', N('^', l1, l2), l3))
|
|
|
+ self.assertEquals(generate_line(power), '1 ^ (2 ^ 3) ^ 4')
|
|
|
+
|
|
|
def test_parentheses_equal_precedence_left(self):
|
|
|
a, b, c, d = L('a'), L('b'), L('c'), L('d')
|
|
|
exp = N('*', N('/', N('*', a, b), c), d)
|