X-Git-Url: https://svn.cri.ensmp.fr/git/linpy.git/blobdiff_plain/29ed88d1a15d283ea6f3340a4dd97e8cc7c2d2d4..de11b4e658edf3ea876aaea3d3d681eaec13dcc4:/pypol/tests/test_linexprs.py diff --git a/pypol/tests/test_linexprs.py b/pypol/tests/test_linexprs.py index 8dfd13e..4c27b21 100644 --- a/pypol/tests/test_linexprs.py +++ b/pypol/tests/test_linexprs.py @@ -20,9 +20,9 @@ class TestExpression(unittest.TestCase): def test_new(self): self.assertIsInstance(self.x, Symbol) - self.assertIsInstance(self.pi, Constant) + self.assertIsInstance(self.pi, Rational) self.assertNotIsInstance(self.x + self.pi, Symbol) - self.assertNotIsInstance(self.x + self.pi, Constant) + self.assertNotIsInstance(self.x + self.pi, Rational) xx = Expression({self.x: 2}) self.assertNotIsInstance(xx, Symbol) with self.assertRaises(TypeError): @@ -225,24 +225,52 @@ class TestSymbol(unittest.TestCase): with self.assertRaises(TypeError): Symbol.fromsympy(sp_x*sp_x) - def test_symbols(self): + +class TestDummy(unittest.TestCase): + + def setUp(self): + self.x = Dummy('x') + + def test_new(self): + self.assertEqual(self.x.name, 'x') + self.assertTrue(Dummy().name.startswith('Dummy')) + + def test_eq(self): + self.assertEqual(self.x, self.x) + self.assertNotEqual(self.x, Symbol('x')) + self.assertNotEqual(Symbol('x'), self.x) + self.assertNotEqual(self.x, Dummy('x')) + self.assertNotEqual(Dummy(), Dummy()) + + +class TestSymbols(unittest.TestCase): + + def setUp(self): + self.x = Symbol('x') + self.y = Symbol('y') + + def test(self): self.assertListEqual(list(symbols('x y')), [self.x, self.y]) self.assertListEqual(list(symbols('x,y')), [self.x, self.y]) self.assertListEqual(list(symbols(['x', 'y'])), [self.x, self.y]) + with self.assertRaises(TypeError): + symbols(1) + with self.assertRaises(TypeError): + symbols(['a', 1]) -class TestConstant(unittest.TestCase): +class TestRational(unittest.TestCase): def setUp(self): - self.zero = Constant(0) - self.one = Constant(1) - self.pi = Constant(Fraction(22, 7)) + self.zero = Rational(0) + self.one = Rational(1) + self.pi = Rational(Fraction(22, 7)) def test_new(self): - self.assertEqual(Constant(), self.zero) - self.assertEqual(Constant(1), self.one) - self.assertEqual(Constant(self.pi), self.pi) - self.assertEqual(Constant('22/7'), self.pi) + self.assertEqual(Rational(), self.zero) + self.assertEqual(Rational(1), self.one) + self.assertEqual(Rational(self.pi), self.pi) + self.assertEqual(Rational('22/7'), self.pi) def test_isconstant(self): self.assertTrue(self.zero.isconstant()) @@ -252,11 +280,11 @@ class TestConstant(unittest.TestCase): self.assertTrue(self.pi) def test_fromstring(self): - self.assertEqual(Constant.fromstring('22/7'), self.pi) + self.assertEqual(Rational.fromstring('22/7'), self.pi) with self.assertRaises(ValueError): - Constant.fromstring('a') + Rational.fromstring('a') with self.assertRaises(TypeError): - Constant.fromstring(1) + Rational.fromstring(1) def test_repr(self): self.assertEqual(repr(self.zero), '0') @@ -266,6 +294,6 @@ class TestConstant(unittest.TestCase): @requires_sympy def test_fromsympy(self): import sympy - self.assertEqual(Constant.fromsympy(sympy.Rational(22, 7)), self.pi) + self.assertEqual(Rational.fromsympy(sympy.Rational(22, 7)), self.pi) with self.assertRaises(TypeError): - Constant.fromsympy(sympy.Symbol('x')) + Rational.fromsympy(sympy.Symbol('x'))