def test_monomial_coefficient(self): """Test that setting a Monomial's coefficient behaves as expected.""" a = Monomial(1, 2) a.coefficient = 2 expected = Monomial(2, 2) self._assert_polynomials_are_the_same(expected, a) b = Monomial(1, 2) b.coefficient = 0 expected = Monomial(0, 0) self._assert_polynomials_are_the_same(expected, b)
def test_monomial_terms(self): """Test _vector for Monomials.""" m = Monomial(6, 5) m.coefficient = 0 self.assertEqual([(0, 0)], m.terms) m.terms = [(10, 5), (10, 5), (10, 5), (10, 5)] self.assertEqual(40, m.coefficient) self.assertEqual(5, m.degree) m.terms = [(10, 5), (10, 5), (0, 4), (0, 3), (0, 2), (0, 1), (10, 5), (10, 5)] self.assertEqual(40, m.coefficient) self.assertEqual(5, m.degree) m.terms = [(25, 6), (-25, 6), (25, 4)] self.assertEqual(25, m.coefficient) self.assertEqual(4, m.degree) m.terms = [(25, 6), (-25, 5), (25, 5)] self.assertEqual(25, m.coefficient) self.assertEqual(6, m.degree) bad_terms = [(25, 6), (-25, 6), (25, 4), (25, 3)] self.assertRaises(TermError, m.__setattr__, "terms", bad_terms)