package jscl.math.function.trigonometric;
import jscl.AngleUnit;
import jscl.JsclMathEngine;
import org.junit.Assert;
import org.junit.Test;
/**
* User: serso
* Date: 1/7/12
* Time: 3:51 PM
*/
public class SinTest {
@Test
public void testIntegrate() throws Exception {
final JsclMathEngine me = JsclMathEngine.getInstance();
// todo serso: uncomment after variable modification issue fixed
/*Assert.assertEquals("-cos(x)", me.simplify("∫(sin(x), x)"));
Assert.assertEquals("-cos(x*π)/π", me.simplify("∫(sin(π*x), x)"));
Assert.assertEquals("1.0", me.evaluate("cos(0)"));
Assert.assertEquals("0.8660254037844387", me.evaluate("cos(30)"));
Assert.assertEquals("0.1339745962155613", me.evaluate("∫ab(sin(x), x, 0, 30)"));*/
try {
me.setAngleUnits(AngleUnit.rad);
Assert.assertEquals("0.54030230586814", me.evaluate("cos(1)"));
Assert.assertEquals("0.362357754476674", me.evaluate("cos(1.2)"));
Assert.assertEquals("0.177944551391466", me.evaluate("∫ab(sin(x), x, 1, 1.2)"));
} finally {
me.setAngleUnits(AngleUnit.deg);
}
//Assert.assertEquals("7.676178925", me.evaluate("∫ab(sin(x), x, 0, 30°)"));
try {
me.setAngleUnits(AngleUnit.rad);
Assert.assertEquals("0.133974596215561", me.evaluate("∫ab(sin(x), x, 0, 30°)"));
} finally {
me.setAngleUnits(AngleUnit.deg);
}
}
}