Min: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
Zeile 23: | Zeile 23: | ||
====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:06 Uhr
Beschreibung
Die Funktion min ermittelt den kleinsten Wert zweier Zahlen. Die Funktion erwartet zwei zu vergleichende Zahlen und gibt die kleinere Zahl zurück.
Syntax
min(float zahl1, float zahl2)
Parameter
- zahl1 - der erste zu vergleichende Wert
- zahl2 - der zweite zu vergleichende Wert
Return Value
- Gibt die kleinere Zahl zurück
Beispiele
Standardfälle
min(12,3) --> returns 3 min(9.568,100) --> returns 9.568
Benutzung mit Variablen
min([pos=1],[pos=3]) min([var=a],[var=b])
JUnit Tests
[Anzeigen]
@Before
public void beforeTest(){
placeExerciseVariable("a", OMParser.parse("1"));
placeExerciseVariable("b", OMParser.parse("2"));
placeExerciseVariable("c", OMParser.parse("-1"));
placeFillInVariable(1, OMParser.parse("1"));
placeFillInVariable(2, OMParser.parse("2"));
placeFillInVariable(3, OMParser.parse("-1"));
}
@Test
public void testMin(){
assertTrue(1 == getEvaluator().getNumberResult("min(1, 2)"));
assertTrue(2 == getEvaluator().getNumberResult("min(3, 2)"));
assertTrue(1 == getEvaluator().getNumberResult("min(1, 1)"));
assertTrue(0 == getEvaluator().getNumberResult("min(0, 0)"));
assertTrue(-2 == getEvaluator().getNumberResult("min(-2, 0)"));
assertTrue(-2 == getEvaluator().getNumberResult("min(-2, 2)"));
}
@Test
public void testMinWithVariables(){
assertTrue(1 == getEvaluator().getNumberResult("min([var=a], [var=b])"));
assertTrue(-1 == getEvaluator().getNumberResult("min([var=a], [var=c])"));
}
@Test
public void testMinWithInput(){
assertTrue(1 == getEvaluator().getNumberResult("min([pos=1], [pos=2])"));
assertTrue(-1 == getEvaluator().getNumberResult("min([pos=1], [pos=3])"));
}
@Test
public void testMinWithExpressions(){
assertTrue(-12 == getEvaluator().getNumberResult("min(min(-12,2), 4)"));
assertTrue(-12 == getEvaluator().getNumberResult("min(min(-12,2), min(5, 8))"));
assertTrue(-13 == getEvaluator().getNumberResult("min(min(-12,min(13,-13)), min(5, 8))"));
}
@Test
public void testMinWithPointNumbers(){
assertTrue(1.0 == getEvaluator().getNumberResult("min(1.0, 1.3)"));
assertTrue(.1 == getEvaluator().getNumberResult("min(.1, .4)"));
assertTrue(.1111 == getEvaluator().getNumberResult("min(.1234, 0.1111)"));
}
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testMinWithWrongInputCharacter(){
getEvaluator().getNumberResult("min(a, a)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testMinWithOneArgument(){
getEvaluator().getNumberResult("min(2)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testMinWithThreeArguments(){
getEvaluator().getNumberResult("min(1, 23, 4)");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testMinWithMissingExerciseVariable(){
getEvaluator().getNumberResult("min('[var=j]', '[var=j]')");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testMinWithMissingInput(){
getEvaluator().getNumberResult("min('[pos=42]', '[pos=42]')");
}
Hinweise
- Eine Gleitkommazahl wird mit einem Punkt anstatt eines Komma gebildet