Floor: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Spobel (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
|||
Zeile 4: | Zeile 4: | ||
=== Syntax === | === Syntax === | ||
floor( | floor([[Gleitkommazahl]] zahl) | ||
=== Parameter === | === Parameter === | ||
Zeile 10: | Zeile 10: | ||
=== Return Value === | === Return Value === | ||
*Gibt eine Ganzzahl zurück. | *Gibt eine [[Ganzzahl]] zurück. | ||
=== Beispiele === | === Beispiele === | ||
==== Standardfälle ==== | ==== Standardfälle ==== | ||
floor( | floor(7.3) --> returns 7 | ||
floor( | floor(-2.4) --> returns -3 | ||
==== Benutzung mit Variablen ==== | ==== Benutzung mit Variablen ==== | ||
floor( | floor([pos=1]) | ||
floor( | floor([var=a]) | ||
====JUnit Tests==== | ====JUnit Tests==== |
Version vom 4. Oktober 2017, 16:30 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(Gleitkommazahl 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
[Anzeigen]
@BeforeClass
public static void beforeTest() {
OMOBJ zero = new OMOBJ();
OMOBJ twoThree = new OMOBJ();
OMOBJ mFourOne = new OMOBJ();
zero.setOMI(OMCreator.createOMI(0));
twoThree.setOMF(OMCreator.createOMF(2.3));
mFourOne.setOMF(OMCreator.createOMF(-4.156665));
fillIn.put(1, zero);
fillIn.put(2, twoThree);
fillIn.put(3, mFourOne);
exerVar.put("a", zero);
exerVar.put("b", twoThree);
exerVar.put("c", mFourOne);
}
@Test
public void testFloor1() {
assertEquals(5, Evaluator.getNumberResult("floor(5.4)", exerVar, fillIn), 0);
}
@Test
public void testFloor2() {
assertEquals(5, Evaluator.getNumberResult("floor(5.0)", exerVar, fillIn), 0);
}
@Test
public void testFloor3() {
assertEquals(0, Evaluator.getNumberResult("floor(0)", exerVar, fillIn), 0);
}
@Test
public void testFloor4() {
assertEquals(-6, Evaluator.getNumberResult("floor(-5.4343664)", exerVar, fillIn), 0);
}
@Test
public void testFloorWithInput1() {
assertEquals(0, Evaluator.getNumberResult("floor([pos=1])", exerVar, fillIn), 0);
}
@Test
public void testFloorWithInput2() {
assertEquals(2, Evaluator.getNumberResult("floor([pos=2])", exerVar, fillIn), 0);
}
@Test
public void testFloorWithInput3() {
assertEquals(-5, Evaluator.getNumberResult("floor([pos=3])", exerVar, fillIn), 0);
}
@Test
public void testFloorWithVariables1() {
assertEquals(0, Evaluator.getNumberResult("floor([var=a])", exerVar, fillIn), 0);
}
@Test
public void testFloorWithVariables2() {
assertEquals(2, Evaluator.getNumberResult("floor([var=b])", exerVar, fillIn), 0);
}
@Test
public void testFloorWithVariables3() {
assertEquals(-5, Evaluator.getNumberResult("floor([var=c])", exerVar, fillIn), 0);
}
@Test
public void testFloorWithExpressions() {
assertEquals(5, Evaluator.getNumberResult("floor(floor(5.1354))", exerVar, fillIn), 0);
}
@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testFloorWithWrongInputCharacter() {
Evaluator.getNumberResult("floor(a)", exerVar, fillIn);
}
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testFloorWithTwoArguments() {
Evaluator.getNumberResult("floor(7.4321, 3)", exerVar, fillIn);
}
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testFloorWithThreeArguments() {
Evaluator.getNumberResult("floor(1.434321, 5, 7)", exerVar, fillIn);
}
@Test(expected = UndefinedExerciseVariableException.class)
public void testFloorWithMissingExerciseVariable() {
Evaluator.getNumberResult("floor([var=j])", exerVar, fillIn);
}
@Test(expected = UndefinedFillInVariableException.class)
public void testFloorWithMissingInput() {
Evaluator.getNumberResult("floor([pos=42])", exerVar, fillIn);
}