|
|
@@ -1,6 +1,6 @@
|
|
|
from src.rules.numerics import match_add_numerics, add_numerics, \
|
|
|
match_divide_numerics, divide_numerics, match_multiply_numerics, \
|
|
|
- multiply_numerics
|
|
|
+ multiply_numerics, raise_numerics
|
|
|
from src.node import ExpressionLeaf as L, Scope
|
|
|
from src.possibilities import Possibility as P
|
|
|
from tests.rulestestcase import RulesTestCase, tree
|
|
|
@@ -131,3 +131,13 @@ class TestRulesNumerics(RulesTestCase):
|
|
|
l5_neg, l6 = mul
|
|
|
self.assertEqualNodes(multiply_numerics(mul, (Scope(mul),
|
|
|
l5_neg, l6)), -l30)
|
|
|
+
|
|
|
+ def test_raise_numerics(self):
|
|
|
+ l1, l2 = root = tree('2 ^ 3')
|
|
|
+ self.assertEqualNodes(raise_numerics(root, (l1, l2)), L(8))
|
|
|
+
|
|
|
+ l1_neg, l2 = root = tree('(-2) ^ 2')
|
|
|
+ self.assertEqualNodes(raise_numerics(root, (l1_neg, l2)), --L(4))
|
|
|
+
|
|
|
+ l1_neg, l2 = root = tree('(-2) ^ 3')
|
|
|
+ self.assertEqualNodes(raise_numerics(root, (l1_neg, l2)), ---L(8))
|