add Tuple compareTo
This commit is contained in:
@@ -4,11 +4,10 @@ import java.util.Arrays;
|
||||
|
||||
import redis.clients.util.SafeEncoder;
|
||||
|
||||
public class Tuple implements Comparable {
|
||||
public class Tuple implements Comparable<Tuple> {
|
||||
private byte[] element;
|
||||
private Double score;
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
@@ -24,7 +23,6 @@ public class Tuple implements Comparable {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
@@ -47,12 +45,6 @@ public class Tuple implements Comparable {
|
||||
else
|
||||
return this.score < other.getScore() ? -1 : 1;
|
||||
}
|
||||
public int compareTo(Object obj) {
|
||||
if (getClass() != obj.getClass())
|
||||
throw new ClassCastException();
|
||||
return compareTo((Tuple) obj);
|
||||
}
|
||||
|
||||
|
||||
public Tuple(String element, Double score) {
|
||||
super();
|
||||
@@ -85,4 +77,4 @@ public class Tuple implements Comparable {
|
||||
public String toString() {
|
||||
return '[' + Arrays.toString(element) + ',' + score + ']';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -457,20 +457,23 @@ public class SortedSetCommandsTest extends JedisCommandTestBase {
|
||||
jedis.zadd("foo", 4.0d, "d");
|
||||
jedis.zadd("foo", 5.0d, "e");
|
||||
|
||||
Set<String> range = jedis.zrevrangeByScore("foo", 3d, Double.NEGATIVE_INFINITY, 0, 1);
|
||||
Set<String> range = jedis.zrevrangeByScore("foo", 3d,
|
||||
Double.NEGATIVE_INFINITY, 0, 1);
|
||||
Set<String> expected = new LinkedHashSet<String>();
|
||||
expected.add("c");
|
||||
|
||||
assertEquals(expected, range);
|
||||
|
||||
range = jedis.zrevrangeByScore("foo", 3.5d, Double.NEGATIVE_INFINITY, 0, 2);
|
||||
range = jedis.zrevrangeByScore("foo", 3.5d, Double.NEGATIVE_INFINITY,
|
||||
0, 2);
|
||||
expected = new LinkedHashSet<String>();
|
||||
expected.add("c");
|
||||
expected.add("b");
|
||||
|
||||
assertEquals(expected, range);
|
||||
|
||||
range = jedis.zrevrangeByScore("foo", 3.5d, Double.NEGATIVE_INFINITY, 1, 1);
|
||||
range = jedis.zrevrangeByScore("foo", 3.5d, Double.NEGATIVE_INFINITY,
|
||||
1, 1);
|
||||
expected = new LinkedHashSet<String>();
|
||||
expected.add("b");
|
||||
|
||||
@@ -594,20 +597,23 @@ public class SortedSetCommandsTest extends JedisCommandTestBase {
|
||||
jedis.zadd("foo", 4.0d, "d");
|
||||
jedis.zadd("foo", 5.0d, "e");
|
||||
|
||||
Set<Tuple> range = jedis.zrevrangeByScoreWithScores("foo", 3d, Double.NEGATIVE_INFINITY, 0, 1);
|
||||
Set<Tuple> range = jedis.zrevrangeByScoreWithScores("foo", 3d,
|
||||
Double.NEGATIVE_INFINITY, 0, 1);
|
||||
Set<Tuple> expected = new LinkedHashSet<Tuple>();
|
||||
expected.add(new Tuple("c", 3.0d));
|
||||
|
||||
assertEquals(expected, range);
|
||||
|
||||
range = jedis.zrevrangeByScoreWithScores("foo", 3.5d, Double.NEGATIVE_INFINITY, 0, 2);
|
||||
range = jedis.zrevrangeByScoreWithScores("foo", 3.5d,
|
||||
Double.NEGATIVE_INFINITY, 0, 2);
|
||||
expected = new LinkedHashSet<Tuple>();
|
||||
expected.add(new Tuple("c", 3.0d));
|
||||
expected.add(new Tuple("b", 2.0d));
|
||||
|
||||
assertEquals(expected, range);
|
||||
|
||||
range = jedis.zrevrangeByScoreWithScores("foo", 3.5d, Double.NEGATIVE_INFINITY, 1, 1);
|
||||
range = jedis.zrevrangeByScoreWithScores("foo", 3.5d,
|
||||
Double.NEGATIVE_INFINITY, 1, 1);
|
||||
expected = new LinkedHashSet<Tuple>();
|
||||
expected.add(new Tuple("b", 2.0d));
|
||||
|
||||
@@ -862,4 +868,14 @@ public class SortedSetCommandsTest extends JedisCommandTestBase {
|
||||
assertEquals(bexpected, jedis.zrangeWithScores(SafeEncoder
|
||||
.encode("dst"), 0, 100));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void tupleCompare() {
|
||||
Tuple t1 = new Tuple("foo", 1d);
|
||||
Tuple t2 = new Tuple("bar", 2d);
|
||||
|
||||
assertEquals(-1, t1.compareTo(t2));
|
||||
assertEquals(1, t2.compareTo(t1));
|
||||
assertEquals(0, t2.compareTo(t2));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user