Expand: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(9 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Die Funktion ''expand'' ist veraltet und wird in Jack3 nicht mehr unterstützt. Bitte nicht mehr verwenden!'''
Jack3: Die Funktion ist nicht mehr notwendig, da Ausdrücke jetzt immer automatisch ausmultipliziert werden.
==Zugehörige Evaluatoren==
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Die Funktion ''expand'' multipliziert einen Ausdruck aus. Sie erwartet einen String und gibt einen zurück.
Die Funktion ''expand'' multipliziert einen Ausdruck aus. Sie erwartet einen String und gibt einen zurück.


===Syntax===
===Syntax===
  expand(Expression term)
  expand([[Ausdruck]] term)


===Parameter===
===Parameter===
* '''term''' - der Ausdruck, der ausmultipliziert wird.
* '''term''' - der [[Ausdruck]], der ausmultipliziert wird.


===Return Value===
===Return Value===
Zeile 14: Zeile 20:
  expand('2*(a+b)')    --> returns '2*a+2*b'
  expand('2*(a+b)')    --> returns '2*a+2*b'


====JUnit Tests====
[[Kategorie:Ausdruckfunktionen]][[Kategorie:JACK2]]
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@BeforeClass
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,
UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException, ErroneousExerciseVariableException {
expandFillInVariableMap.put(1, ExpressionParser.parse("1", null, null));
expandFillInVariableMap.put(2, ExpressionParser.parse("5", null, null));
 
expandExerciseVariableMap.put("a", ExpressionParser.parse("1", null, null));
expandExerciseVariableMap.put("b", ExpressionParser.parse("5", null, null));
}
 
@Test
public void testExpand1() {
assertEquals(ExpressionParser.parse("2*a+2*b", null, null),
Evaluator.evaluate("expand('2*(a+b)')", expandExerciseVariableMap, expandFillInVariableMap));
}
 
@Test
public void testExpand2() {
assertEquals(ExpressionParser.parse("3*a", null, null),
Evaluator.evaluate("expand('2*a+a')", expandExerciseVariableMap, expandFillInVariableMap));
}
 
@Test
public void testExpand3() {
assertEquals(ExpressionParser.parse("2*a+c", null, null),
Evaluator.evaluate("expand('2*a+c')", expandExerciseVariableMap, expandFillInVariableMap));
}
 
@Test
public void testExpandWithInput() {
assertEquals(ExpressionParser.parse("x+5*y", null, null),
Evaluator.evaluate("expand('[pos=1]*x+[pos=2]*y')", expandExerciseVariableMap, expandFillInVariableMap));
}
 
@Test
public void testExpandWithVariables() {
assertEquals(ExpressionParser.parse("x+5*y", null, null),
Evaluator.evaluate("expand('[var=a]*x+[var=b]*y')", expandExerciseVariableMap, expandFillInVariableMap));
}
 
@Test
public void testExpandWithONECharacter() {
assertEquals(ExpressionParser.parse("a", null, null),
Evaluator.evaluate("expand(a)", expandExerciseVariableMap, expandFillInVariableMap));
}
 
@Test(expected = FunctionInvalidArgumentException.class)
public void testExpandWithEmptyStringArgument() {
Evaluator.evaluate("expand('')", expandExerciseVariableMap, expandFillInVariableMap);
fail();
}
 
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testExpandWithEmptyArgument() {
Evaluator.evaluate("expand()", expandExerciseVariableMap, expandFillInVariableMap);
fail();
}
 
@Test(expected = UndefinedExerciseVariableException.class)
public void testExpandWithoutExerciseVariable() {
Evaluator.evaluate("expand([var=j])", expandExerciseVariableMap, expandFillInVariableMap);
fail();
}
 
@Test(expected = UndefinedFillInVariableException.class)
public void testExpandWithoutInput() {
Evaluator.evaluate("expand([pos=42])", expandExerciseVariableMap, expandFillInVariableMap);
fail();
}
</syntaxhighlight>
 
===Hinweise===
 
[[Kategorie:Evaluatorfunktion]]

Aktuelle Version vom 27. März 2024, 13:31 Uhr

Die Funktion expand ist veraltet und wird in Jack3 nicht mehr unterstützt. Bitte nicht mehr verwenden!
Jack3: Die Funktion ist nicht mehr notwendig, da Ausdrücke jetzt immer automatisch ausmultipliziert werden.


Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion expand multipliziert einen Ausdruck aus. Sie erwartet einen String und gibt einen zurück.

Syntax

expand(Ausdruck 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'