Exp: 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("10")); | |||
placeExerciseVariable("a", OMParser.parse("0")); | |||
placeExerciseVariable("b", OMParser.parse("10")); | |||
} | |||
@Test | @Test | ||
public void testExp(){ | public void testExp(){ |
Version vom 20. Juni 2017, 10:49 Uhr
Beschreibung
Die Funktion exp repräsentiert die Exponentialfunktion, sie gibt den Wert <math>e^x</math> an der Stelle x an. Die Funktion erwartet eine Zahl und gibt eine Zahl zurück.
Syntax
exp(float x)
Parameter
- x - der x-Wert der Exponentialfunktion
Return Value
- Gibt eine rationale Zahl zurück
Beispiele
Standardfälle
exp('1') --> returns 2.71828182845 exp('-0.1') --> returns 0.9048374180359595
Benutzung mit Variablen
exp('[pos=1]') exp('[var=a]')
JUnit Tests
@Before
public void beforeTest() {
placeFillInVariable(1, OMParser.parse("0"));
placeFillInVariable(2, OMParser.parse("10"));
placeExerciseVariable("a", OMParser.parse("0"));
placeExerciseVariable("b", OMParser.parse("10"));
}
@Test
public void testExp(){
assertTrue(1 == getEvaluator().getNumberResult("exp(0)"));
assertTrue(2.71828182845 < getEvaluator().getNumberResult("exp(1)") && getEvaluator().getNumberResult("exp(1)") < 2.71828182846);
assertTrue(0 == getEvaluator().getNumberResult("exp(-1000)"));
assertTrue(0.9048374180359595 == getEvaluator().getNumberResult("exp(-0.1)"));
}
@Test
public void testExpWithInput(){
assertTrue(1 == getEvaluator().getNumberResult("exp([pos=1])"));
assertTrue(22026.465794806718 == getEvaluator().getNumberResult("exp([pos=2])"));
}
@Test
public void testExpWithVariables(){
assertTrue(1 == getEvaluator().getNumberResult("exp([var=a])"));
assertTrue(22026.465794806718 == getEvaluator().getNumberResult("exp([var=b])"));
}
@Test
public void testExpWithPointNumber(){
assertTrue(getEvaluator().getNumberResult("exp(0.1)") == getEvaluator().getNumberResult("exp(.1))"));
}
@Test
public void testExpWithExpressions(){
assertTrue(1 == getEvaluator().getNumberResult("exp(exp(-1000))"));
}
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testExpWithWrongInputCharacter(){
getEvaluator().getNumberResult("exp(a)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testExpWithTwoArguments(){
getEvaluator().getNumberResult("exp(0, 1)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testExpWithThreeArguments(){
getEvaluator().getNumberResult("exp(1, 2.71, 2)");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testExpWithMissingExerciseVariable(){
getEvaluator().getNumberResult("exp([var=j])");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testExpWithMissingInput(){
getEvaluator().getNumberResult("getDenominator([pos=42])");
}
Hinweise
- Aufgrund von der Rechengenauigkeit des Computers, wird in jedem Fall eine rationale Zahl zurückgegeben. Sollte der tatsächliche Funktionswert irrational sein, wird entsprechend gerundet.