Floor: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 23: | Zeile 23: | ||
====JUnit Tests==== | ====JUnit Tests==== | ||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed"> | <syntaxhighlight lang="java" class="mw-collapsible mw-collapsed"> | ||
@Before | |||
public void beforeTest() { | |||
placeFillInVariable(1, OMParser.parse("0")); | |||
placeFillInVariable(2, OMParser.parse("2.3")); | |||
placeFillInVariable(3, OMParser.parse("-4.156665")); | |||
placeExerciseVariable("a", OMParser.parse("0")); | |||
placeExerciseVariable("b", OMParser.parse("2.3")); | |||
placeExerciseVariable("c", OMParser.parse("-4.156665")); | |||
} | |||
@Test | @Test | ||
public void testFloor(){ | public void testFloor(){ |
Version vom 20. Juni 2017, 10:51 Uhr
Beschreibung
Die Funktion floor rundet eine rationale Zahl auf die nächstgrößere ganze Zahl ab. Die Funktion erwartet eine Zahl als Parameter und gibt eine Zahl zurück.
Syntax
floor(float zahl)
Parameter
- zahl - eine abzurundende rationale Zahl
Return Value
- Gibt eine Ganzzahl zurück.
Beispiele
Standardfälle
floor('7.3') --> returns 7 floor('-2.4') --> returns -3
Benutzung mit Variablen
floor('[pos=1]') floor('[var=a]')
JUnit Tests
@Before
public void beforeTest() {
placeFillInVariable(1, OMParser.parse("0"));
placeFillInVariable(2, OMParser.parse("2.3"));
placeFillInVariable(3, OMParser.parse("-4.156665"));
placeExerciseVariable("a", OMParser.parse("0"));
placeExerciseVariable("b", OMParser.parse("2.3"));
placeExerciseVariable("c", OMParser.parse("-4.156665"));
}
@Test
public void testFloor(){
assertTrue( 5 == getEvaluator().getNumberResult("floor(5.4)"));
assertTrue( 5 == getEvaluator().getNumberResult("floor(5.0)"));
assertTrue( 0 == getEvaluator().getNumberResult("floor(0)"));
assertTrue(-6 == getEvaluator().getNumberResult("floor(-5.4343664)"));
}
@Test
public void testFloorWithInput(){
assertTrue( 0 == getEvaluator().getNumberResult("floor([pos=1])"));
assertTrue( 2 == getEvaluator().getNumberResult("floor([pos=2])"));
assertTrue(-5 == getEvaluator().getNumberResult("floor([pos=3])"));
}
@Test
public void testFloorWithVariables(){
assertTrue( 0 == getEvaluator().getNumberResult("floor([var=a])"));
assertTrue( 2 == getEvaluator().getNumberResult("floor([var=b])"));
assertTrue(-5 == getEvaluator().getNumberResult("floor([var=c])"));
}
@Test
public void testFloorWithExpressions(){
assertTrue( 5 == getEvaluator().getNumberResult("floor(floor(5.1354))"));
}
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testFloorWithWrongInputCharacter(){
getEvaluator().getNumberResult("floor(a)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testFloorWithTwoArguments(){
getEvaluator().getNumberResult("floor(7.4321, 3)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testFloorWithThreeArguments(){
getEvaluator().getNumberResult("floor(1.434321, 5, 7)");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testFloorWithMissingExerciseVariable(){
getEvaluator().getNumberResult("floor([var=j])");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testFloorWithMissingInput(){
getEvaluator().getNumberResult("floor([pos=42])");
}