|
|
@@ -1,7 +1,7 @@
|
|
|
import unittest
|
|
|
|
|
|
from node import Node as N, Leaf as L
|
|
|
-from line import generate_line, is_negation, is_id, is_int
|
|
|
+from line import generate_line, is_id, is_int
|
|
|
|
|
|
|
|
|
class TestLine(unittest.TestCase):
|
|
|
@@ -39,7 +39,7 @@ class TestLine(unittest.TestCase):
|
|
|
def test_function(self):
|
|
|
exp = L('x')
|
|
|
inf = L('oo')
|
|
|
- minus_inf = N('-', inf)
|
|
|
+ minus_inf = -L('oo')
|
|
|
integral = N('int', exp, minus_inf, inf)
|
|
|
self.assertEquals(generate_line(integral), 'int(x, -oo, oo)')
|
|
|
|
|
|
@@ -105,7 +105,7 @@ class TestLine(unittest.TestCase):
|
|
|
mul = N('*', N('*', a, l2), b)
|
|
|
self.assertEquals(generate_line(mul), 'a * 2b')
|
|
|
|
|
|
- plus = N('*', N('*', N('-', a), b), c)
|
|
|
+ plus = N('*', N('*', -a, b), c)
|
|
|
self.assertEquals(generate_line(plus), '-abc')
|
|
|
|
|
|
mul = N('*', a, N('-', b, c))
|
|
|
@@ -127,23 +127,19 @@ class TestLine(unittest.TestCase):
|
|
|
self.assertEquals(generate_line(mul), 'a * 2')
|
|
|
|
|
|
def test_plus_to_minus(self):
|
|
|
- plus = N('+', L(1), N('-', L(2)))
|
|
|
+ plus = N('+', L(1), -L(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))
|
|
|
+ plus = N('+', l1, 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)
|
|
|
+ neg = -l1
|
|
|
+ neg_a = -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))
|
|
|
@@ -155,26 +151,26 @@ class TestLine(unittest.TestCase):
|
|
|
self.assertFalse(is_int(plus))
|
|
|
|
|
|
def test_negated_addition_subtraction(self):
|
|
|
- neg = N('-', N('+', L(1), L(2)))
|
|
|
+ neg = -N('+', L(1), L(2))
|
|
|
self.assertEquals(generate_line(neg), '-(1 + 2)')
|
|
|
|
|
|
- neg = N('-', N('-', L(1), L(2)))
|
|
|
+ neg = -N('-', L(1), L(2))
|
|
|
self.assertEquals(generate_line(neg), '-(1 - 2)')
|
|
|
|
|
|
- neg = N('+', L(1), N('-', N('+', L(1), L(2))))
|
|
|
+ neg = N('+', L(1), -N('+', L(1), L(2)))
|
|
|
self.assertEquals(generate_line(neg), '1 - (1 + 2)')
|
|
|
|
|
|
- neg = N('-', N('*', L(4), L('a')))
|
|
|
+ neg = -N('*', L(4), L('a'))
|
|
|
self.assertEquals(generate_line(neg), '-4a')
|
|
|
|
|
|
- neg = N('-', N('*', L(4), L(5)))
|
|
|
+ neg = -N('*', L(4), L(5))
|
|
|
self.assertEquals(generate_line(neg), '-4 * 5')
|
|
|
|
|
|
- plus = N('+', L(1), N('-', N('*', L(4), L(5))))
|
|
|
+ plus = N('+', L(1), -N('*', L(4), L(5)))
|
|
|
self.assertEquals(generate_line(plus), '1 - 4 * 5')
|
|
|
|
|
|
- plus = N('+', L(1), N('-', L(4)))
|
|
|
+ plus = N('+', L(1), -L(4))
|
|
|
self.assertEquals(generate_line(plus), '1 - 4')
|
|
|
|
|
|
- neg = N('-', N('-', L(1)))
|
|
|
+ neg = --L(1)
|
|
|
self.assertEquals(generate_line(neg), '--1')
|