EvalCplx

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Die Funktion evalcplx erwartet einen String und gibt einen Wert zurück.

Syntax

evalcplx(string)

Parameter

Return Value

Beispiele

JUnit Tests

[Anzeigen]

@Before 
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("2"));
  placeFillInVariable(2, OMParser.parse("I"));
		
  placeExerciseVariable("a", OMParser.parse("2"));
  placeExerciseVariable("b", OMParser.parse("I"));
}

@Test
public void testEvalCplx() {
  assertTrue(getEvaluator().getBooleanResult("evalcplx('4/2')=='2'"));
  assertTrue("'-1'".equals(getEvaluator().getResultAsEvaluatorString("evalcplx('I^2')")));
  assertTrue("'-2'".equals(getEvaluator().getResultAsEvaluatorString("evalcplx('2*I^2')")));
  assertTrue("'I*2'".equals(getEvaluator().getResultAsEvaluatorString("evalcplx('sqrt(-4)')")));
  assertTrue("'-4'".equals(getEvaluator().getResultAsEvaluatorString("evalcplx('sqrt(-4)^2')")));
}
	
@Test
public void testEvalCplxWithInput(){
  assertTrue("'-1'".equals(getEvaluator().getResultAsEvaluatorString("evalcplx('I^[pos=1]')")));
  assertTrue("'-1'".equals(getEvaluator().getResultAsEvaluatorString("evalcplx('[pos=2]^2')")));
}
	
@Test
public void testEvalCplxWithVariables(){
  assertTrue("'-1'".equals(getEvaluator().getResultAsEvaluatorString("evalcplx('I^[var=a]')")));
  assertTrue("'-1'".equals(getEvaluator().getResultAsEvaluatorString("evalcplx('[var=b]^2')")));
}
	
@Test
public void testEvalCplxWithONECharacter(){
  assertTrue("'a'".equals(getEvaluator().getResultAsEvaluatorString("evalcplx(a)")));		
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testEvalCplxWithEmptyStringArgument(){
  getEvaluator().getResultAsEvaluatorString("evalcplx('')");
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testEvalCplxWithEmptyArgument(){
  getEvaluator().getResultAsEvaluatorString("evalcplx()");
}
	
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testEvalCplxWithWrongInputCodeInjection(){
  getEvaluator().getResultAsEvaluatorString("evalcplx('I]; List[1,2')");
}
	
@Test(expected=UndefinedExerciseVariableException.class)
public void testEvalCplxWithoutExerciseVariable() {
  getEvaluator().getResultAsEvaluatorString("evalcplx([var=j])");
}
	
@Test(expected=UndefinedFillInVariableException.class)
public void testEvalCplxWithoutInput() {
  getEvaluator().getResultAsEvaluatorString("evalcplx([pos=42])");
}

Hinweise