|
|
@@ -20,12 +20,17 @@ class TestLine(unittest.TestCase):
|
|
|
times = N('*', plus, plus)
|
|
|
self.assertEquals(generate_line(times), '(1 + 2) * (1 + 2)')
|
|
|
|
|
|
- def test_parentheses_equal_precedence(self):
|
|
|
+ def test_parentheses_equal_precedence_right(self):
|
|
|
l0, l1, l2 = L(1), L(2), L(3)
|
|
|
plus = N('+', l1, l2)
|
|
|
minus = N('-', l0, plus)
|
|
|
self.assertEquals(generate_line(minus), '1 - (2 + 3)')
|
|
|
|
|
|
+ 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)
|
|
|
+ self.assertEquals(generate_line(exp), 'ab / c * d')
|
|
|
+
|
|
|
def test_parentheses_nary(self):
|
|
|
l0, l1, l2 = L(1), L(2), L(3)
|
|
|
plus = N('+', N('+', l0, l1), l2)
|