You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2018/12/23 10:36:51 UTC
svn commit: r1849600 -
/jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java
Author: pmouawad
Date: Sun Dec 23 10:36:50 2018
New Revision: 1849600
URL: http://svn.apache.org/viewvc?rev=1849600&view=rev
Log:
Fix Sonar warning Equality tests should not be made with floating point values
Modified:
jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java
Modified: jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java?rev=1849600&r1=1849599&r2=1849600&view=diff
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java (original)
+++ jmeter/trunk/src/components/org/apache/jmeter/timers/poissonarrivals/ConstantPoissonProcessGenerator.java Sun Dec 23 10:36:50 2018
@@ -32,6 +32,8 @@ import org.slf4j.LoggerFactory;
public class ConstantPoissonProcessGenerator implements EventProducer {
private static final Logger log = LoggerFactory.getLogger(ConstantPoissonProcessGenerator.class);
+ private static final double PRECISION = 0.00001;
+
private Random rnd = new Random();
private ThroughputProvider throughputProvider;
private int batchSize;
@@ -163,10 +165,14 @@ public class ConstantPoissonProcessGener
@Override
public double next() {
if (!events.hasRemaining()
- || throughputProvider.getThroughput() != lastThroughput) {
+ || !valuesAreEqualWithPrecision(throughputProvider.getThroughput(),lastThroughput)) {
generateNext();
}
lastEvent = events.get();
return lastEvent;
}
+
+ private boolean valuesAreEqualWithPrecision(double throughput, double lastThroughput) {
+ return Math.abs(throughput - lastThroughput) < PRECISION;
+ }
}