String formatting for empty expressions
authorVivien Maisonneuve <v.maisonneuve@gmail.com>
Fri, 23 May 2014 07:57:03 +0000 (09:57 +0200)
committerVivien Maisonneuve <v.maisonneuve@gmail.com>
Fri, 23 May 2014 07:57:03 +0000 (09:57 +0200)
pypol/linear.py
tests/test_linear.py

index 5b5d8aa..6550e92 100644 (file)
@@ -206,6 +206,8 @@ class Expression:
         elif constant < 0:
             constant *= -1
             string += ' - {}'.format(constant)
         elif constant < 0:
             constant *= -1
             string += ' - {}'.format(constant)
+        if string == '':
+            string = '0'
         return string
 
     def _parenstr(self, always=False):
         return string
 
     def _parenstr(self, always=False):
index 3912fd3..4636275 100644 (file)
@@ -110,6 +110,7 @@ class TestExpression(unittest.TestCase):
         self.assertEqual(self.e / 2, self.x / 2 - self.y + Fraction(3, 2))
 
     def test_str(self):
         self.assertEqual(self.e / 2, self.x / 2 - self.y + Fraction(3, 2))
 
     def test_str(self):
+        self.assertEqual(str(Expression()), '0')
         self.assertEqual(str(self.x), 'x')
         self.assertEqual(str(-self.x), '-x')
         self.assertEqual(str(self.pi), '22/7')
         self.assertEqual(str(self.x), 'x')
         self.assertEqual(str(-self.x), '-x')
         self.assertEqual(str(self.pi), '22/7')