Exp: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 23: Zeile 23:
====JUnit Tests====
====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@Test
@Test
public void testExp(){
public void testExp(){
  assertTrue(1 == getEvaluator().getNumberResult("exp(0)"));
  assertTrue(1 == getEvaluator().getNumberResult("exp(0)"));
  assertTrue(2.71828182845 < getEvaluator().getNumberResult("exp(1)") && getEvaluator().getNumberResult("exp(1)") < 2.71828182846);
  assertTrue(2.71828182845 < getEvaluator().getNumberResult("exp(1)") && getEvaluator().getNumberResult("exp(1)") < 2.71828182846);
  assertTrue(0 == getEvaluator().getNumberResult("exp(-1000)"));
  assertTrue(0 == getEvaluator().getNumberResult("exp(-1000)"));
  assertTrue(0.9048374180359595 == getEvaluator().getNumberResult("exp(-0.1)"));
  assertTrue(0.9048374180359595 == getEvaluator().getNumberResult("exp(-0.1)"));
}
}
 
@Test
@Test
public void testExpWithInput(){
public void testExpWithInput(){
  assertTrue(1 == getEvaluator().getNumberResult("exp([pos=1])"));
  assertTrue(1 == getEvaluator().getNumberResult("exp([pos=1])"));
  assertTrue(22026.465794806718 == getEvaluator().getNumberResult("exp([pos=2])"));
  assertTrue(22026.465794806718 == getEvaluator().getNumberResult("exp([pos=2])"));
}
}
 
@Test
@Test
public void testExpWithVariables(){
public void testExpWithVariables(){
  assertTrue(1 == getEvaluator().getNumberResult("exp([var=a])"));
  assertTrue(1 == getEvaluator().getNumberResult("exp([var=a])"));
  assertTrue(22026.465794806718 == getEvaluator().getNumberResult("exp([var=b])"));
  assertTrue(22026.465794806718 == getEvaluator().getNumberResult("exp([var=b])"));
}
}
 
@Test
@Test
public void testExpWithPointNumber(){
public void testExpWithPointNumber(){
  assertTrue(getEvaluator().getNumberResult("exp(0.1)") == getEvaluator().getNumberResult("exp(.1))"));
  assertTrue(getEvaluator().getNumberResult("exp(0.1)") == getEvaluator().getNumberResult("exp(.1))"));
}
}
 
@Test
@Test
public void testExpWithExpressions(){
public void testExpWithExpressions(){
  assertTrue(1 == getEvaluator().getNumberResult("exp(exp(-1000))"));
  assertTrue(1 == getEvaluator().getNumberResult("exp(exp(-1000))"));
}
}
 
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testExpWithWrongInputCharacter(){
public void testExpWithWrongInputCharacter(){
  getEvaluator().getNumberResult("exp(a)");
  getEvaluator().getNumberResult("exp(a)");
}
}
 
@Test(expected=UnsupportedEvaluatorFunctionException.class)
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testExpWithTwoArguments(){
public void testExpWithTwoArguments(){
  getEvaluator().getNumberResult("exp(0, 1)");
  getEvaluator().getNumberResult("exp(0, 1)");
}
}
 
@Test(expected=UnsupportedEvaluatorFunctionException.class)
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testExpWithThreeArguments(){
public void testExpWithThreeArguments(){
  getEvaluator().getNumberResult("exp(1, 2.71,  2)");
  getEvaluator().getNumberResult("exp(1, 2.71,  2)");
}
}
 
@Test(expected=UndefinedExerciseVariableException.class)
@Test(expected=UndefinedExerciseVariableException.class)
public void testExpWithMissingExerciseVariable(){
public void testExpWithMissingExerciseVariable(){
  getEvaluator().getNumberResult("exp([var=j])");
  getEvaluator().getNumberResult("exp([var=j])");
}
}
 
@Test(expected=UndefinedFillInVariableException.class)
@Test(expected=UndefinedFillInVariableException.class)
public void testExpWithMissingInput(){
public void testExpWithMissingInput(){
  getEvaluator().getNumberResult("getDenominator([pos=42])");
  getEvaluator().getNumberResult("getDenominator([pos=42])");
}
}
</syntaxhighlight>
</syntaxhighlight>
=== Hinweise ===
=== 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.
* 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.


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Evaluatorfunktion]]

Version vom 20. Juni 2017, 11:01 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

@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.