### Question:
Ln extends Function { public Generic antiDerivative(int n) throws NotIntegrableException { return parameters[0].multiply(new Ln(parameters[0]).selfExpand().subtract(JsclInteger.ONE)); } Ln(Generic generic); Generic antiDerivative(int n); Generic derivative(int n); Generic selfExpand(); Generic selfElementary(); Generic selfSimplify(); Generic selfNumeric(); @Nonnull Variable newInstance();  }### Answer:
@Test public void testAntiDerivative() throws Exception { final MathEngine me = JsclMathEngine.getInstance(); assertEquals("-x+x*ln(x)", me.simplify("∫(ln(x), x)")); assertEquals("-(x-x*ln(x))/(ln(2)+ln(5))", me.simplify("∫(lg(x), x)")); }