Expand
Zur Navigation springen
Zur Suche springen
Beschreibung
Die Funktion expand multipliziert einen Ausdruck aus. Sie erwartet einen String und gibt einen zurück.
Syntax
expand(Expression term)
Parameter
- term - der Ausdruck, der ausmultipliziert wird.
Return Value
- Gibt den ausmultiplizierten Wert des Ausdrucks zurück.
Beispiele
expand('2*(a+b)') --> returns '2*a+2*b'
JUnit Tests
@Before
public void beforeTest() {
placeFillInVariable(1, OMParser.parse("1"));
placeFillInVariable(2, OMParser.parse("5"));
placeExerciseVariable("a", OMParser.parse("1"));
placeExerciseVariable("b", OMParser.parse("5"));
}
@Test
public void testExpand() {
assertTrue("'2*a+2*b'".equals(getEvaluator().getResultAsEvaluatorString("expand('2*(a+b)')")));
assertTrue("'3*a'".equals(getEvaluator().getResultAsEvaluatorString("expand('2*a+a')")));
assertTrue("'2*a+c'".equals(getEvaluator().getResultAsEvaluatorString("expand('2*a+c')")));
}
@Test
public void testExpandWithInput() {
assertTrue("'x+5*y'".equals(getEvaluator().getResultAsEvaluatorString("expand('[pos=1]x+[pos=2]y')")));
}
@Test
public void testExpandWithVariables() {
assertTrue("'x+5*y'".equals(getEvaluator().getResultAsEvaluatorString("expand('[var=a]x+[var=b]y')")));
}
@Test
public void testExpandWithONECharacter() {
assertTrue("'a'".equals(getEvaluator().getResultAsEvaluatorString("expand(a)")));
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testExpandWithEmptyStringArgument() {
getEvaluator().getResultAsEvaluatorString(("expand('')"));
}
@Test(expected=InvalidCASFunctionArgumentException.class)
public void testExpandWithEmptyArgument() {
getEvaluator().getResultAsEvaluatorString(("expand()"));
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testExpandWithoutExerciseVariable() {
getEvaluator().getResultAsEvaluatorString("expand([var=j])");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testExpandWithoutInput() {
getEvaluator().getResultAsEvaluatorString("expand([pos=42])");
}