EvalCplx
Aus JACK Wiki
Version vom 29. September 2017, 14:09 Uhr von Spobel (Diskussion | Beiträge)
Inhaltsverzeichnis
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
Abgerufen von „https://wiki.uni-due.de/jack/index.php?title=EvalCplx&oldid=1839“