Skip to content
Snippets Groups Projects
Commit 805a9166 authored by Taddeus Kroes's avatar Taddeus Kroes
Browse files

Added some match cases for coverage.

parent 92da9da9
No related branches found
No related tags found
No related merge requests found
......@@ -140,9 +140,10 @@ MESSAGES[equalize_denominators] = _('Equalize the denominators of division'
def add_nominators(root, args):
"""
a / b + c / b -> (a + c) / b
a / -b + c / -b -> (a + c) / -b
a / -b - c / -b -> (a - c) / -b
a / b + c / b -> (a + c) / b
a / b - c / b -> (a - c) / b
-(a / b) + c / b -> -((a + c) / b)
-(a / b) - c / b -> (c - a) / -b
"""
# TODO: is 'add' Appropriate when rewriting to "(a + (-c)) / b"?
ab, cb = args
......
......@@ -18,7 +18,7 @@ def add_numerics(root, args):
n0, n1, c0, c1 = args
if c0.is_op(OP_NEG):
c0 = (-c0[0].value)
c0 = -c0[0].value
else:
c0 = c0.value
......
......@@ -34,6 +34,7 @@ class TestNode(RulesTestCase):
self.assertTrue(N('+', *self.l[:2]).is_op_or_negated(OP_ADD))
self.assertTrue(N('-', N('+', *self.l[:2])).is_op_or_negated(OP_ADD))
self.assertFalse(N('-', *self.l[:2]).is_op_or_negated(OP_ADD))
self.assertFalse(self.l[0].is_op_or_negated(OP_ADD))
def test_is_leaf(self):
self.assertTrue(L(2).is_leaf())
......
......@@ -17,6 +17,7 @@ class TestRulesNumerics(RulesTestCase):
def test_add_numerics_negations(self):
l0, a, l1 = tree('1,a,2')
self.assertEqual(add_numerics(-l0 + l1, (-l0, l1, -L(1), L(2))), 1)
self.assertEqual(add_numerics(l0 + -l1, (l0, -l1, L(1), -L(2))), -1)
self.assertEqual(add_numerics(l0 + a + -l1, (l0, -l1, L(1), -L(2))),
L(-1) + a)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment