Random: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 20: | Zeile 20: | ||
====JUnit Tests==== | ====JUnit Tests==== | ||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed"> | <span class="mw-customtoggle-myDivision">[Anzeigen]</span> | ||
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision"> | |||
@Test | @Test | ||
public void testRandom(){ | public void testRandom(){ |
Version vom 27. Juni 2017, 09:12 Uhr
Beschreibung
Die Funktion random liefert eine Pseudozufallszahl in Form einer Gleitkommazahl im Bereich von 0 (inklusiv) bis 1 (exklusiv) zurück. Die Funktion benötigt keine Parameter.
Syntax
random()
Parameter
- keine
Return Value
- Gibt eine Zufallszahl (double) zurück
Beispiele
Standardfälle
random() --> 0.451236789 random() --> 0.969492934
Benutzung mit Variablen
- keine
JUnit Tests
[Anzeigen]
@Test
public void testRandom(){
for(int i=0;i<10000;i++){
assertTrue(1 > getEvaluator().getNumberResult("random()"));
assertTrue(0 <= getEvaluator().getNumberResult("random()"));
}
}
@Test
public void testRandomStatistically(){
HashMap<Double, Integer> statistics = new HashMap<>(); //<'Random Number', 'Occurrences'>
for (int i = 0; i < 10000; i++){
double random = getEvaluator().getNumberResult("random()");
if (statistics.containsKey(random)){
statistics.put(random, statistics.get(random) +1);
}else{
statistics.put(random, 1);
}
}
int max = 0;
for (int value : statistics.values()){
if(value > max){ max = value; }
}
assertTrue(2 >= max); //max 2 same random numbers out of 10 000
assertTrue(9990 < statistics.values().size()); //max 9 random numbers overlapping out of 10 000
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testRandomWithOneArgument(){
getEvaluator().getNumberResult("random(4)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testRandomWithTwoArguments(){
getEvaluator().getNumberResult("random(4, 5)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testRandomWithThreeArguments(){
getEvaluator().getNumberResult("random(2, 4, 0.1)");
}
Hinweise
- liefert niemals den Wert 1 zurück