EvalCplx
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])");
}