From: Vivien Maisonneuve Date: Fri, 20 Jun 2014 07:54:32 +0000 (+0200) Subject: Improve representation of Constants X-Git-Tag: 1.0~223 X-Git-Url: https://scm.cri.ensmp.fr/git/linpy.git/commitdiff_plain/9e103619134c8839d143951c5b814bab500fcdcf?hp=156db05a9a4c4e6d71a431fcc6343b973ca1d5ab Improve representation of Constants --- diff --git a/pypol/linear.py b/pypol/linear.py index 8fdece9..e6d442e 100644 --- a/pypol/linear.py +++ b/pypol/linear.py @@ -355,8 +355,11 @@ class Constant(Expression): return bool(self.constant) def __repr__(self): - return '{}({!r})'.format(self.__class__.__name__, self._constant) - + if self.constant.denominator == 1: + return '{}({!r})'.format(self.__class__.__name__, self.constant) + else: + return '{}({!r}, {!r})'.format(self.__class__.__name__, + self.constant.numerator, self.constant.denominator) class Symbol(Expression): diff --git a/tests/test_linear.py b/tests/test_linear.py index b722726..2375092 100644 --- a/tests/test_linear.py +++ b/tests/test_linear.py @@ -131,6 +131,7 @@ class TestExpression(unittest.TestCase): def test_repr(self): self.assertEqual(repr(self.x), "Symbol('x')") self.assertEqual(repr(self.one), 'Constant(1)') + self.assertEqual(repr(self.pi), 'Constant(22, 7)') self.assertEqual(repr(self.expr), "Expression({'x': 1, 'y': -2}, 3)") def test_fromstring(self):