Fix Expression.__rsub__
authorVivien Maisonneuve <v.maisonneuve@gmail.com>
Wed, 11 Jun 2014 18:19:20 +0000 (20:19 +0200)
committerVivien Maisonneuve <v.maisonneuve@gmail.com>
Wed, 11 Jun 2014 18:19:20 +0000 (20:19 +0200)
pypol/linear.py
tests/test_linear.py

index de6f4ca..c169049 100644 (file)
@@ -158,7 +158,8 @@ class Expression:
         constant = self.constant - other.constant
         return Expression(coefficients, constant)
 
-    __rsub__ = __sub__
+    def __rsub__(self, other):
+        return -(self - other)
 
     @_polymorphic_method
     def __mul__(self, other):
index 93fc838..4079d75 100644 (file)
@@ -99,6 +99,7 @@ class TestExpression(unittest.TestCase):
     def test_sub(self):
         self.assertEqual(self.x - self.x, 0)
         self.assertEqual(self.e - 3, self.x - 2*self.y)
+        self.assertEqual(0 - self.x, -self.x)
 
     def test_mul(self):
         self.assertEqual(self.pi * 7, 22)