|
@@ -1,7 +1,7 @@
|
|
|
import unittest
|
|
import unittest
|
|
|
|
|
|
|
|
from node import Node as N, Leaf as L
|
|
from node import Node as N, Leaf as L
|
|
|
-from line import generate_line
|
|
|
|
|
|
|
+from line import generate_line, is_negation, is_id, is_int
|
|
|
|
|
|
|
|
|
|
|
|
|
class TestLine(unittest.TestCase):
|
|
class TestLine(unittest.TestCase):
|
|
@@ -105,6 +105,9 @@ class TestLine(unittest.TestCase):
|
|
|
mul = N('*', N('*', a, l2), b)
|
|
mul = N('*', N('*', a, l2), b)
|
|
|
self.assertEquals(generate_line(mul), 'a * 2b')
|
|
self.assertEquals(generate_line(mul), 'a * 2b')
|
|
|
|
|
|
|
|
|
|
+ plus = N('*', N('*', N('-', a), b), c)
|
|
|
|
|
+ self.assertEquals(generate_line(plus), '-abc')
|
|
|
|
|
+
|
|
|
mul = N('*', a, N('-', b, c))
|
|
mul = N('*', a, N('-', b, c))
|
|
|
self.assertEquals(generate_line(mul), 'a(b - c)')
|
|
self.assertEquals(generate_line(mul), 'a(b - c)')
|
|
|
mul = N('*', l2, N('-', b, c))
|
|
mul = N('*', l2, N('-', b, c))
|
|
@@ -126,3 +129,27 @@ class TestLine(unittest.TestCase):
|
|
|
def test_plus_to_minus(self):
|
|
def test_plus_to_minus(self):
|
|
|
plus = N('+', L(1), N('-', L(2)))
|
|
plus = N('+', L(1), N('-', L(2)))
|
|
|
self.assertEquals(generate_line(plus), '1 - 2')
|
|
self.assertEquals(generate_line(plus), '1 - 2')
|
|
|
|
|
+
|
|
|
|
|
+ l1, a, b, c = L(1), L('a'), L('b'), L('c')
|
|
|
|
|
+ plus = N('+', l1, N('*', N('*', N('-', a), b), c))
|
|
|
|
|
+ self.assertEquals(generate_line(plus), '1 - abc')
|
|
|
|
|
+
|
|
|
|
|
+ def test_helper_functions(self):
|
|
|
|
|
+ l1, a = L(1), L('a')
|
|
|
|
|
+ neg = N('-', l1)
|
|
|
|
|
+ neg_a = N('-', a)
|
|
|
|
|
+ plus = N('+', l1, a)
|
|
|
|
|
+
|
|
|
|
|
+ self.assertTrue(is_negation(neg))
|
|
|
|
|
+ self.assertFalse(is_negation(l1))
|
|
|
|
|
+ self.assertFalse(is_negation(plus))
|
|
|
|
|
+
|
|
|
|
|
+ self.assertTrue(is_id(a))
|
|
|
|
|
+ self.assertTrue(is_id(neg_a))
|
|
|
|
|
+ self.assertFalse(is_id(neg))
|
|
|
|
|
+ self.assertFalse(is_id(plus))
|
|
|
|
|
+
|
|
|
|
|
+ self.assertTrue(is_int(l1))
|
|
|
|
|
+ self.assertTrue(is_int(neg))
|
|
|
|
|
+ self.assertFalse(is_int(neg_a))
|
|
|
|
|
+ self.assertFalse(is_int(plus))
|