Abs: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
Zeile 22: | Zeile 22: | ||
====JUnit Tests==== | ====JUnit Tests==== | ||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed"> | <span class="mw-customtoggle-myDivision">[Anzeigen]</span> | ||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision"> | |||
@Before | @Before | ||
public void beforeTest() { | public void beforeTest() { |
Version vom 27. Juni 2017, 09:04 Uhr
Beschreibung
Die Funktion abs berechnet den Betrag einer Zahl. Die Funktion erwartet eine Zahl als Parameter und gibt eine Zahl zurück.
Syntax
abs(float zahl)
Parameter
- zahl - eine rationale Zahl, deren Betrag berechnet werden soll
Return Value
- Gibt eine Ganzzahl zurück
Beispiele
Standardfälle
abs(1) --> returns 1 abs(-2.5) --> returns 2.5 abs(-abs(5)) --> returns 5
Benutzung mit Variablen
abs('[pos=1]') abs('[var=a]')
JUnit Tests
[Anzeigen]
@Before
public void beforeTest() {
placeFillInVariable(1, OMParser.parse("-8.43"));
placeFillInVariable(2, OMParser.parse("-1"));
placeExerciseVariable("a", OMParser.parse("-8.43"));
placeExerciseVariable("b", OMParser.parse("1"));
}
@Test public void testAbs() {
assertTrue(1 == getEvaluator().getNumberResult("abs(1)"));
assertTrue(1 == getEvaluator().getNumberResult("abs('-1')"));
assertTrue(0.5 == getEvaluator().getNumberResult("abs(-0.5)"));
assertTrue(0 == getEvaluator().getNumberResult("abs(-0)"));
}
@Test public void testAbsWithInput() {
assertTrue(1 == getEvaluator().getNumberResult("abs('[pos=2]')"));
assertTrue(8.43 == getEvaluator().getNumberResult("abs('[pos=1]')"));
}
@Test public void testAbsWithVariables() {
assertTrue(1 == getEvaluator().getNumberResult("abs('[var=b]')"));
assertTrue(8.43 == getEvaluator().getNumberResult("abs('[var=a]')"));
}
@Test public void testAbsWithExpressions() {
assertTrue(5 == getEvaluator().getNumberResult("abs(-abs(5))"));
assertTrue(5 == getEvaluator().getNumberResult("abs(-abs(abs(-5)))"));
}
@Test (expected=ParserMismatchException.class)
public void testAbsWithWrongInputCharacter() {
getEvaluator().getNumberResult("abs(a)");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testAbsWithTwoArguments() {
getEvaluator().getNumberResult("abs(-2.2, 3.3)");
}
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testAbsWithThreeArguments() {
getEvaluator().getNumberResult("abs(2.123, -3.55, -1)");
}
@Test (expected=UndefinedExerciseVariableException.class)
public void testAbsWithMissingExcerciseVariable() {
getEvaluator().getNumberResult("abs('[var=j]')");
}
@Test (expected=UndefinedFillInVariableException.class)
public void testAbsWithMissingInput() {
getEvaluator().getNumberResult("abs('[pos=42]')");
}