def test_trim(): f = Function("f") assert trim((f(x) ** 2 + f(x)) / f(x)) == 1 + f(x) assert trim((sin(x) ** 2 + sin(x)) / sin(x)) == 1 + sin(x) assert trim((f(x) + y * f(x)) / f(x)) == 1 + y expr = integrate(1 / (x ** 3 + 1), x) assert trim(together(expr.diff(x))) == 1 / (x ** 3 + 1) assert cancel(together(expr.diff(x))) == 1 / (x ** 3 + 1) expr = together(expr.subs(x, sin(x)).diff(x)) assert trim(expr) == cos(x) / (1 + sin(x) ** 3) assert trim((2 * (1 / n - cos(n * pi) / n)) / pi) == 1 / pi / n * (2 - 2 * cos(pi * n)) assert trim(sin((f(x) ** 2 + f(x)) / f(x))) == sin(1 + f(x)) assert trim(exp(x) * sin(x) / 2 + cos(x) * exp(x)) == exp(x) * (sin(x) + 2 * cos(x)) / 2
def test_trim(): f = Function('f') assert trim((f(x)**2 + f(x)) / f(x)) == 1 + f(x) assert trim((sin(x)**2 + sin(x)) / sin(x)) == 1 + sin(x) assert trim((f(x) + y * f(x)) / f(x)) == 1 + y expr = integrate(1 / (x**3 + 1), x) assert trim(together(expr.diff(x))) == 1 / (x**3 + 1) assert cancel(together(expr.diff(x))) == 1 / (x**3 + 1) expr = together(expr.subs(x, sin(x)).diff(x)) assert trim(expr) == cos(x) / (1 + sin(x)**3) assert trim((2 * (1/n - cos(n * pi)/n))/pi) == \ 1/pi/n*(2 - 2*cos(pi*n)) assert trim(sin((f(x)**2 + f(x)) / f(x))) == sin(1 + f(x)) assert trim(exp(x)*sin(x)/2 + cos(x)*exp(x)) == \ exp(x)*(sin(x) + 2*cos(x))/2
def test_trim_xfail(): assert trim((exp(3 * x) + exp(2 * x * y) + y * exp(x)) / exp(x)) == y + exp(2 * x) + exp(-x + 2 * x * y)
def test_trim_nonbasic(): assert trim(Integral(x ** 2, (x, -1, 1))) == Integral(x ** 2, (x, -1, 1))
def test_trim_xfail(): assert trim((exp(3*x)+exp(2*x*y) + y*exp(x))/exp(x)) == \ y + exp(2*x) + exp(-x + 2*x*y)