EvalCplx

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

DEPRECATED

Diese Funktion wird nicht mehr unterstützt. Die Funktion Expand bietet die gleiche Funktionalität.


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