Expand

Aus JACK Wiki
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

[Anzeigen]

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

Hinweise