Divide: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Spobel (Diskussion | Beiträge) |
Spobel (Diskussion | Beiträge) (→Syntax) |
||
Zeile 4: | Zeile 4: | ||
===Syntax=== | ===Syntax=== | ||
a/b | a/b | ||
divide(a,b) | |||
===Parameter=== | ===Parameter=== |
Version vom 25. Oktober 2017, 12:33 Uhr
Beschreibung
Bei der Division wird die eine Zahl durch die andere Zahl geteilt, z.B. .
Syntax
a/b divide(a,b)
Parameter
- a - Gleitkommazahl
- b - Gleitkommazahl
Return Value
- Gibt eine expresseion zurück
Beispiele
<math>\frac{1}{4}</math> --> returns 0.25
<math>\frac{1.5}{2}</math> --> returns 0.75
JUnit Tests
[Anzeigen]
@BeforeClass
public static void beforeTest() {
fillInVariableMap.put(1, OMConverter.toObject("<OMOBJ><OMI>3</OMI></OMOBJ>"));
exerciseVariableMap.put("a", OMConverter.toObject("<OMOBJ><OMI>3</OMI></OMOBJ>"));
}
@Test
public void testDivision1() {
assertEquals(2, Evaluator.getNumberResult("8/4", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivision2() {
assertEquals(0.25, Evaluator.getNumberResult("1/4", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivision3() {
assertEquals(0.75, Evaluator.getNumberResult("1.5/2", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test(expected = FunctionInvalidArgumentException.class)
public void testDivision4() {
Evaluator.getNumberResult("1/0", exerciseVariableMap, fillInVariableMap);
fail();
}
@Test
public void testDivisionWithVariables1() {
assertEquals(1, Evaluator.getNumberResult("[var=a]/3", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivisionWithVariables2() {
assertEquals(1, Evaluator.getNumberResult("3/[var=a]", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivisionWithInput1() {
assertEquals(1, Evaluator.getNumberResult("[pos=1]/3", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivisionWithInput2() {
assertEquals(1, Evaluator.getNumberResult("3/[pos=1]", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivisionWithNegativeNumbers1() {
assertEquals(-.5, Evaluator.getNumberResult("-1 / 2", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivisionWithNegativeNumbers2() {
assertEquals(-.5, Evaluator.getNumberResult("1 / -2", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivisionWithNegativeNumbers3() {
assertEquals(-2, Evaluator.getNumberResult("-1 / 0.5", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivisionWithNegativeNumbers4() {
assertEquals(2, Evaluator.getNumberResult("2.22 / 1.11", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivisionWithEncapsulation1() {
assertEquals(2, Evaluator.getNumberResult("1 / (1 / 2)", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivisionWithEncapsulation2() {
assertEquals(.5, Evaluator.getNumberResult("1 / (1 / (1 / 2))", exerciseVariableMap, fillInVariableMap), 0.0);
}
@Test
public void testDivisionWithEncapsulation3() {
assertEquals(.5,
Evaluator.getNumberResult("1 / (1 / (1 / (1 / (1 / 2))))", exerciseVariableMap, fillInVariableMap),
0.0);
}
@Test
public void testDivisionWithEncapsulation4() {
assertEquals(.5,
Evaluator.getNumberResult("((((1 / 2) / 1) / 1) / 1) / 1", exerciseVariableMap, fillInVariableMap),
0.0);
}
@Test
public void testDivisionWithInputCharacter() {
OMA result = Evaluator.evaluate("6 / a", exerciseVariableMap, fillInVariableMap).getOMA();
assertEquals("<OMA><OMS name=\"divide\" cd=\"arith1\"/><OMI>6</OMI><OMV name=\"a\"/></OMA>", result.toString());
}
@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testDivisionWithWrongInputString() {
Evaluator.getNumberResult("6 / 'aabcd'", exerciseVariableMap, fillInVariableMap);
fail();
}
@Test(expected = UndefinedExerciseVariableException.class)
public void testDivisionWithMissingExcerciseVariable() {
Evaluator.getNumberResult("[var=j] / 2", exerciseVariableMap, fillInVariableMap);
fail();
}
@Test(expected = UndefinedFillInVariableException.class)
public void testDivisionWithMissingInput() {
Evaluator.getNumberResult("[pos=42] / 2", exerciseVariableMap, fillInVariableMap);
fail();
}
Hinweise
- Das Ergebnis lässt sich mit equal ("==") vergleichen.