Integrate

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Die Funktion integrate integriert eine Funktion. Sie erwartet zwei Strings, den Ausdruck der integriert werden soll und die Variable nach der integriert werden soll. Die Funktion gibt einen String zurück.

Syntax

integrate(String term, String variable)

Parameter

  • term - die Funktion die integriert werden soll
  • variable - die Variable nach der integriert werden soll

Return Value

  • Gibt den String zurück der die integrierte Funktion darstellt.

Beispiele

integrate('2','x')    --> returns 2x

JUnit Tests

@Before 
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("2"));
  placeFillInVariable(2, OMParser.parse("1"));
		
  placeExerciseVariable("a", OMParser.parse("2"));
  placeExerciseVariable("b", OMParser.parse("1"));
}
	
@Test
public void testIntegrate() {
  assertTrue("'2*x'".equals(getEvaluator().getResultAsEvaluatorString("integrate('2','x')")));
  assertTrue("'2*y'".equals(getEvaluator().getResultAsEvaluatorString("integrate('2','y')")));
}
	
@Test
public void testIntegrateWithInput() {
  assertTrue("'2*x'".equals(getEvaluator().getResultAsEvaluatorString("integrate('[pos=1]','x')")));
  assertTrue("'y'".equals(getEvaluator().getResultAsEvaluatorString("integrate('[pos=2]','y')")));
}
	
@Test
public void testIntegrateWithVariables() {
  assertTrue("'2*x'".equals(getEvaluator().getResultAsEvaluatorString("integrate('[var=a]','x')")));
  assertTrue("'y'".equals(getEvaluator().getResultAsEvaluatorString("integrate('[var=b]','y')")));
}
	
@Test
public void testIntegrateWithONECharacter() {
  assertTrue("'a^2/2'".equals(getEvaluator().getResultAsEvaluatorString("integrate(a, a)")));
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testIntegrateWithEmptyStringArguments() {
  getEvaluator().getResultAsEvaluatorString("integrate('','')");
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testIntegrateWithEmptyArgument() {
  getEvaluator().getResultAsEvaluatorString("integrate()");
}
	
@Test(expected=UndefinedExerciseVariableException.class)
public void testIntegrateWithMissingExerciseVariable(){
  getEvaluator().getNumberResult("integrate('y', '[var=j]')");
}
	
@Test(expected=UndefinedFillInVariableException.class)
public void testIntegrateWithMissingInput(){
  getEvaluator().getNumberResult("integrate('y', '[pos=42]')");
}

Hinweise