You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by fs...@apache.org on 2016/12/27 14:48:20 UTC

svn commit: r1776139 - in /jmeter/trunk: src/core/org/apache/jmeter/visualizers/Sample.java test/src/org/apache/jmeter/visualizers/TestSampleCompareTo.java

Author: fschumacher
Date: Tue Dec 27 14:48:20 2016
New Revision: 1776139

URL: http://svn.apache.org/viewvc?rev=1776139&view=rev
Log:
Add tests for Sample#compareTo and correct compareTo with respect to big longs.

Added:
    jmeter/trunk/test/src/org/apache/jmeter/visualizers/TestSampleCompareTo.java
Modified:
    jmeter/trunk/src/core/org/apache/jmeter/visualizers/Sample.java

Modified: jmeter/trunk/src/core/org/apache/jmeter/visualizers/Sample.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/visualizers/Sample.java?rev=1776139&r1=1776138&r2=1776139&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/visualizers/Sample.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/visualizers/Sample.java Tue Dec 27 14:48:20 2016
@@ -175,7 +175,7 @@ public class Sample implements Serializa
     @Override
     public int compareTo(Sample o) {
         Sample oo = o;
-        return ((count - oo.count) < 0 ? -1 : (count == oo.count ? 0 : 1));
+        return Long.compare(count,  oo.count);
     }
 
     // TODO should equals and hashCode depend on field other than count?

Added: jmeter/trunk/test/src/org/apache/jmeter/visualizers/TestSampleCompareTo.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/visualizers/TestSampleCompareTo.java?rev=1776139&view=auto
==============================================================================
--- jmeter/trunk/test/src/org/apache/jmeter/visualizers/TestSampleCompareTo.java (added)
+++ jmeter/trunk/test/src/org/apache/jmeter/visualizers/TestSampleCompareTo.java Tue Dec 27 14:48:20 2016
@@ -0,0 +1,47 @@
+package org.apache.jmeter.visualizers;
+
+import static org.junit.Assert.*;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.hamcrest.CoreMatchers;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class TestSampleCompareTo {
+
+    private final long thisCount;
+    private final long otherCount;
+    private final int compareResult;
+
+    public TestSampleCompareTo(long thisCount, long otherCount,
+            int compareResult) {
+        this.thisCount = thisCount;
+        this.otherCount = otherCount;
+        this.compareResult = compareResult;
+    }
+
+    @Parameters
+    public static Collection<Object[]> data() {
+        return Arrays.asList(new Object[][] { { 0L, 0L, 0 }, { 1L, 0L, 1 },
+                { 0L, 1L, -1 }, { Long.MAX_VALUE, Long.MIN_VALUE, 1 },
+                { Long.MIN_VALUE, Long.MAX_VALUE, -1 }, { 1000L, -1000L, 1 },
+                { -1000L, 1000L, -1 }, { Long.MIN_VALUE, Long.MIN_VALUE, 0 },
+                { Long.MAX_VALUE, Long.MAX_VALUE, 0 } });
+    }
+
+    @Test
+    public void testCompareTo() {
+        assertThat(sample(thisCount).compareTo(sample(otherCount)),
+                CoreMatchers.is(compareResult));
+    }
+
+    private Sample sample(long count) {
+        return new Sample("dummy", 0l, 0L, 0L, 0L, 0L, 0.0, 0L, true, count, 0L);
+    }
+
+}