Expand: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 14: | Zeile 14: | ||
expand('2*(a+b)') --> returns '2*a+2*b' | expand('2*(a+b)') --> returns '2*a+2*b' | ||
====JUnit Tests==== | |||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed"> | |||
@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])"); | |||
} | |||
</syntaxhighlight> | |||
===Hinweise=== | ===Hinweise=== | ||
[[Kategorie:Evaluatorfunktion]] | [[Kategorie:Evaluatorfunktion]] |
Version vom 20. Juni 2017, 16:27 Uhr
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])");
}