mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-03-30 16:26:24 +02:00
23 lines
891 B
Java
23 lines
891 B
Java
package com.gmail.nossr50.util.random;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
public class ProbabilityTestUtils {
|
|
public static void assertProbabilityExpectations(double expectedWinPercent, Probability probability) {
|
|
double iterations = 2.0e7; //20 million
|
|
double winCount = 0;
|
|
for (int i = 0; i < iterations; i++) {
|
|
if(probability.evaluate()) {
|
|
winCount++;
|
|
}
|
|
}
|
|
|
|
double successPercent = (winCount / iterations) * 100;
|
|
System.out.println("Wins: " + winCount);
|
|
System.out.println("Fails: " + (iterations - winCount));
|
|
System.out.println("Percentage succeeded: " + successPercent + ", Expected: " + expectedWinPercent);
|
|
assertEquals(expectedWinPercent, successPercent, 0.035D);
|
|
System.out.println("Variance is within tolerance levels!");
|
|
}
|
|
}
|