|
|
@@ -162,12 +162,21 @@ class TestLine(unittest.TestCase):
|
|
|
neg = -N('-', L(1), L(2))
|
|
|
self.assertEquals(generate_line(neg), '-(1 - 2)')
|
|
|
|
|
|
+ neg = N('+', L(1), N('+', L(1), L(2)))
|
|
|
+ self.assertEquals(generate_line(neg), '1 + 1 + 2')
|
|
|
+
|
|
|
neg = N('+', L(1), -N('+', L(1), L(2)))
|
|
|
self.assertEquals(generate_line(neg), '1 - (1 + 2)')
|
|
|
|
|
|
+ neg = N('+', L(1), N('+', L(1), -L(2)))
|
|
|
+ self.assertEquals(generate_line(neg), '1 + (1 - 2)')
|
|
|
+
|
|
|
neg = -N('*', L(4), L('a'))
|
|
|
self.assertEquals(generate_line(neg), '-4a')
|
|
|
|
|
|
+ neg = N('*', L(4), -L('a'))
|
|
|
+ self.assertEquals(generate_line(neg), '4 * -a')
|
|
|
+
|
|
|
neg = -N('*', L(4), L(5))
|
|
|
self.assertEquals(generate_line(neg), '-4 * 5')
|
|
|
|
|
|
@@ -177,6 +186,12 @@ class TestLine(unittest.TestCase):
|
|
|
plus = N('+', L(1), -L(4))
|
|
|
self.assertEquals(generate_line(plus), '1 - 4')
|
|
|
|
|
|
+ plus = N('+', N('/', L('a'), L('b')), -N('/', L('c'), L('d')))
|
|
|
+ self.assertEquals(generate_line(plus), 'a / b - c / d')
|
|
|
+
|
|
|
+ mul = N('*', N('+', L('a'), L('b')), -N('+', L('c'), L('d')))
|
|
|
+ self.assertEquals(generate_line(mul), '(a + b) * -(c + d)')
|
|
|
+
|
|
|
def test_double_negation(self):
|
|
|
neg = --L(1)
|
|
|
self.assertEquals(generate_line(neg), '--1')
|