ok Operator well included need to use them correctly now!

This commit is contained in:
Lafrite 2014-11-02 11:17:12 +01:00
parent 9b1ad5c14a
commit a3c84d6eab
2 changed files with 3 additions and 13 deletions

View File

@ -2,6 +2,8 @@
# encoding: utf-8 # encoding: utf-8
from .fraction import Fraction
class Operator(str): class Operator(str):
"""The operator class, is a string (representation of the operator) with its arity""" """The operator class, is a string (representation of the operator) with its arity"""
@ -30,7 +32,7 @@ class Operator(str):
elif self.arity == 2: elif self.arity == 2:
# C'est moche mais je veux que ça marche... # C'est moche mais je veux que ça marche...
if str(self) == "/": if str(self) == "/":
ans = [Fraction(op1, op2)] ans = [Fraction(args[0], args[1])]
ans += ans[0].simplify() ans += ans[0].simplify()
return ans return ans
else: else:

View File

@ -56,18 +56,6 @@ class TestExpression(unittest.TestCase):
exp = "1 + $" exp = "1 + $"
self.assertRaises(ValueError, Expression.str2tokens, exp) self.assertRaises(ValueError, Expression.str2tokens, exp)
def test_doMath(self):
ops = [\
{"op": ("+", 1 , 2), "res" : 3}, \
{"op": ("-", 1 , 2), "res" : -1}, \
{"op": ("*", 1 , 2), "res" : 2}, \
{"op": ("/", 1 , 2), "res" : Fraction(1,2)}, \
{"op": ("^", 1 , 2), "res" : 1}, \
]
for op in ops:
res = first_elem(Expression.doMath(*op["op"]))
self.assertAlmostEqual(res, op["res"])
def test_isNumber(self): def test_isNumber(self):
pass pass