numberOfTimesToTryAMethodCall /
numberOfAttemptsBeforeThrowingException;
int expectedNumberOfSuccess = numberOfTimesToTryAMethodCall -
expectedNumberOfFailures;
PerformanceMonitor perfMon = new PerformanceMonitor();
final OccasionalExceptionPerformer performer =
new OccasionalExceptionPerformer(numberOfAttemptsBeforeThrowingException);
for(int i=0; i<numberOfTimesToTryAMethodCall; i++) {
try {
perfMon.invoke(performer);
} catch (Exception e) {
//ignore me.
}
}
for(int i=0; i<numberOfTimesToTryAMethodCall; i++) {
try {
performer.run();
}
catch (Exception e) {
//ignore me.
}
}
System.out.println("Performance Counter Failures: "
+ perfMon.getFailureCount()
+ " Expected Failure Count is: "
+ expectedNumberOfFailures);
System.out.println("Performance Counter Success: "
+ perfMon.getSuccessCount()
+ " Expected Success Count is: "
+ expectedNumberOfSuccess);
}