コード例 #1
0
 def test_monomial_can_only_have_one_or_no_terms(self):
     """Test that setting terms works correctly."""
     m = Monomial(1, 10)
     self.assertRaises(TermError, m.__setattr__, "terms", [(1, 2), (3, 4)])
     m = Monomial(1, 10)
     m.terms = [(1, 2)]
     self._assert_polynomials_are_the_same(Monomial(1, 2), m)
     m = Monomial(1, 10)
     m.terms = [(0, 2)]
     self._assert_polynomials_are_the_same(Monomial(0, 2), m)
コード例 #2
0
    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)