Example #1
0
 def test_other_letters(self):
     self.assertEqual("y^2-1", polynom.simplify("(y+1)(y-1)"))
     self.assertRaises(ValueError, polynom.simplify, "(x+1)(X-1)")
     self.assertRaises(ValueError, polynom.simplify, "xy")
     self.assertRaises(ValueError, polynom.simplify, "x+y")
Example #2
0
    def test_exponentiation(self):
        self.assertEqual("20x^8", polynom.simplify("2x^8*10"))
        self.assertEqual("8x^3", polynom.simplify("(2x)^3"))
        self.assertEqual("8x^3", polynom.simplify("(2x)^(3)"))
        self.assertEqual("16x^4", polynom.simplify("(2x)^((3)+(1))"))
        self.assertEqual("16x^4", polynom.simplify("((1+1)(x+0))^((3)+(1))"))
        self.assertEqual("65610", polynom.simplify("(2+1)^8*10"))

        self.assertEqual("16", polynom.simplify("2^2^2"))
        self.assertEqual("16", polynom.simplify("(1+1)^(2+0)^(2)"))

        self.assertEqual("0", polynom.simplify("0^2"))
        self.assertEqual("1", polynom.simplify("2^0"))
        self.assertEqual("1", polynom.simplify("x^0"))
        self.assertEqual("x", polynom.simplify("x^1"))
Example #3
0
 def test_with_spaces(self):
     self.assertEqual("3x^3-9x", polynom.simplify("   2 x ^ 3  +    x  \t     (x^2-9)   "))
Example #4
0
    def test(self):
        self.assertEqual("", polynom.simplify(""))

        self.assertEqual("1", polynom.simplify("1"))
        self.assertEqual("0", polynom.simplify("0"))
        self.assertEqual("0", polynom.simplify("00"))

        self.assertEqual("4x^2+4x+1", polynom.simplify("(2x+1)(2x+1)"))
        self.assertEqual("4x^2+4x+1", polynom.simplify("(2x+1)*(2x+1)"))
        self.assertEqual("4x^2+4x+1", polynom.simplify("(2x+1)^2"))
        self.assertEqual("4x^2+4x+1", polynom.simplify("(2x+1)^(1+1)"))
        self.assertEqual("4x^2", polynom.simplify("(2x)^(1+1)"))

        self.assertEqual("x^8+8x^7+28x^6+56x^5+70x^4+56x^3+28x^2+8x+1", polynom.simplify("(x+1)*(x+1)*(x+1)*(x+1)*(x+1)*(x+1)*(x+1)*(x+1)"))
        self.assertEqual("x^8+8x^7+28x^6+56x^5+70x^4+56x^3+28x^2+8x+1", polynom.simplify("(x+1)^(4+4)"))

        self.assertEqual("x^2+x", polynom.simplify("+x(x+1)"))
        self.assertEqual("-x^2-x", polynom.simplify("-x(x+1)"))
        self.assertEqual("x^2+x", polynom.simplify("x(x+1)"))

        self.assertEqual("27", polynom.simplify("-(-27)"))
        self.assertEqual("-27", polynom.simplify("-(+27)"))
        self.assertEqual("-27", polynom.simplify("+(-27)"))

        self.assertEqual("x^3+3x^2+2x", polynom.simplify("x(x+1)(x+2)"))
        self.assertEqual("x^2+x", polynom.simplify("x(x+1)"))
        self.assertEqual("x^2+x", polynom.simplify("(x(x+1))"))
        self.assertEqual("x^2+x+1", polynom.simplify("x+1+x^2"))
        self.assertEqual("3x^3-9x", polynom.simplify("2x^3+x(x^2-9)"))
        self.assertEqual("3x^3-9x", polynom.simplify("(2x^3+x(x^2-9))"))
        self.assertEqual("3x^4-15x^3-9x^2+45x", polynom.simplify("(x-5)(2x^3+x(x^2-9))"))

        self.assertEqual("x^2+3x+2", polynom.simplify("(x+1)(x+2)"))

        self.assertEqual("-345", polynom.simplify("23(4-5)(7+8)"))

        self.assertEqual("6x", polynom.simplify("3x*2"))
        self.assertEqual("6x", polynom.simplify("3x*(2)"))
        self.assertEqual("12x", polynom.simplify("3x*(2+2)"))
        self.assertEqual("x^2-4", polynom.simplify("(x-2)*(x+2)"))
        self.assertEqual("x^2-4", polynom.simplify("(x-2)(x+2)"))
        self.assertEqual("1", polynom.simplify("0x+1"))

        self.assertEqual("162x-1", polynom.simplify("-1+(5+4)(18x)"))
        self.assertEqual("-18x^2", polynom.simplify("(-18x)x"))
        self.assertEqual("-162x^2-x", polynom.simplify("-1x+(5+4)(-18x)x"))

        self.assertEqual("30", polynom.simplify("5*6"))
        self.assertEqual("30", polynom.simplify("(5)*(6)"))
        self.assertEqual("30x^4", polynom.simplify("x(5)x*x(6)x"))
        self.assertEqual("256", polynom.simplify("2^8"))
        self.assertEqual("65610", polynom.simplify("3^8*10"))
        self.assertEqual("120", polynom.simplify("1*2*3*4*5"))

        self.assertEqual("x^7-3x^6-2x^4+6x^3+x-3", polynom.simplify("(x-3)*(x^6-2x^3+1)"))