# You should have received a copy of the GNU General Public License
# along with LinPy. If not, see <http://www.gnu.org/licenses/>.
-import functools
import unittest
from fractions import Fraction
-from ..linexprs import *
+from ..linexprs import Dummy, LinExpr, Rational, Symbol, symbols
from .libhelper import requires_sympy
self.expr[self.expr]
def test_coefficients(self):
- self.assertListEqual(list(self.expr.coefficients()), [(self.x, 1), (self.y, -2)])
+ self.assertListEqual(list(self.expr.coefficients()),
+ [(self.x, 1), (self.y, -2)])
def test_constant(self):
self.assertEqual(self.x.constant, 0)
def test_scaleint(self):
self.assertEqual((self.x + self.y/2 + self.z/3).scaleint(),
- 6*self.x + 3*self.y + 2*self.z)
+ 6*self.x + 3*self.y + 2*self.z)
def test_subs(self):
self.assertEqual(self.x.subs(self.x, 3), 3)
self.assertEqual(self.x.subs(self.y, 3), self.x)
self.assertEqual(self.pi.subs(self.x, 3), self.pi)
self.assertEqual(self.expr.subs(self.x, -3), -2 * self.y)
- self.assertEqual(self.expr.subs([(self.x, self.y), (self.y, self.x)]), -2*self.x + self.y + 3)
- self.assertEqual(self.expr.subs({self.x: self.z, self.y: self.z}), 3 - self.z)
- self.assertEqual(self.expr.subs({self.x: self.z, self.y: self.z}), 3 - self.z)
+ self.assertEqual(self.expr.subs([(self.x, self.y), (self.y, self.x)]),
+ -2*self.x + self.y + 3)
+ self.assertEqual(self.expr.subs({self.x: self.z, self.y: self.z}),
+ 3 - self.z)
+ self.assertEqual(self.expr.subs({self.x: self.z, self.y: self.z}),
+ 3 - self.z)
with self.assertRaises(TypeError):
self.x.subs('x', 3)
with self.assertRaises(TypeError):