DATAREDIS-729 - Polishing.
Reorder methods so lexCount(…) comes after count(…). Tweak Javadoc wording. Simplify tests. Original pull request: #569.
This commit is contained in:
@@ -1791,6 +1791,34 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
verifyResults(Arrays.asList(new Object[] { true, true, true, 2l }));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
@IfProfileValue(name = "redisVersion", value = "2.9.0+")
|
||||
@WithRedisDriver({ RedisDriver.JEDIS, RedisDriver.LETTUCE })
|
||||
public void zLexCountTest() {
|
||||
|
||||
actual.add(connection.zAdd("myzset", 0, "a"));
|
||||
actual.add(connection.zAdd("myzset", 0, "b"));
|
||||
actual.add(connection.zAdd("myzset", 0, "c"));
|
||||
actual.add(connection.zAdd("myzset", 0, "d"));
|
||||
actual.add(connection.zAdd("myzset", 0, "e"));
|
||||
actual.add(connection.zAdd("myzset", 0, "f"));
|
||||
actual.add(connection.zAdd("myzset", 0, "g"));
|
||||
|
||||
actual.add(connection.zLexCount("myzset", Range.unbounded()));
|
||||
actual.add(connection.zLexCount("myzset", Range.range().lt("c")));
|
||||
actual.add(connection.zLexCount("myzset", Range.range().lte("c")));
|
||||
actual.add(connection.zLexCount("myzset", Range.range().gte("aaa").lt("g")));
|
||||
actual.add(connection.zLexCount("myzset", Range.range().gte("e")));
|
||||
|
||||
List<Object> results = getResults();
|
||||
|
||||
assertThat((Long) results.get(7)).isEqualTo(7);
|
||||
assertThat((Long) results.get(8)).isEqualTo(2);
|
||||
assertThat((Long) results.get(9)).isEqualTo(3);
|
||||
assertThat((Long) results.get(10)).isEqualTo(5);
|
||||
assertThat((Long) results.get(11)).isEqualTo(3);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZIncrBy() {
|
||||
actual.add(connection.zAdd("myset", 2, "Bob"));
|
||||
@@ -2454,43 +2482,6 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
assertThat((Set<String>) results.get(13)).contains("c", "b").doesNotContain("a", "d", "e", "f", "g");
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
@IfProfileValue(name = "redisVersion", value = "2.9.0+")
|
||||
@WithRedisDriver({ RedisDriver.JEDIS, RedisDriver.LETTUCE })
|
||||
public void zLexCountTest() {
|
||||
|
||||
actual.add(connection.zAdd("myzset", 0, "a"));
|
||||
actual.add(connection.zAdd("myzset", 0, "b"));
|
||||
actual.add(connection.zAdd("myzset", 0, "c"));
|
||||
actual.add(connection.zAdd("myzset", 0, "d"));
|
||||
actual.add(connection.zAdd("myzset", 0, "e"));
|
||||
actual.add(connection.zAdd("myzset", 0, "f"));
|
||||
actual.add(connection.zAdd("myzset", 0, "g"));
|
||||
|
||||
actual.add(connection.zLexCount("myzset", Range.unbounded()));
|
||||
actual.add(connection.zLexCount("myzset", Range.range().lt("c")));
|
||||
actual.add(connection.zLexCount("myzset", Range.range().lte("c")));
|
||||
actual.add(connection.zLexCount("myzset", Range.range().gte("aaa").lt("g")));
|
||||
actual.add(connection.zLexCount("myzset", Range.range().gte("e")));
|
||||
|
||||
List<Object> results = getResults();
|
||||
|
||||
Long count = (Long) results.get(7);
|
||||
assertThat(count).isEqualTo(7);
|
||||
|
||||
count = (Long) results.get(8);
|
||||
assertThat(count).isEqualTo(2);
|
||||
|
||||
count = (Long) results.get(9);
|
||||
assertThat(count).isEqualTo(3);
|
||||
|
||||
count = (Long) results.get(10);
|
||||
assertThat(count).isEqualTo(5);
|
||||
|
||||
count = (Long) results.get(11);
|
||||
assertThat(count).isEqualTo(3);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class) // DATAREDIS-316, DATAREDIS-692
|
||||
@WithRedisDriver({ RedisDriver.JEDIS, RedisDriver.LETTUCE })
|
||||
public void setWithExpirationAndNullOpionShouldThrowException() {
|
||||
|
||||
@@ -430,6 +430,26 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
zSetOperations.count(key, Range.closed(0d, 10d)).as(StepVerifier::create).expectNext(1L).verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
public void lexCount() {
|
||||
|
||||
assumeTrue(serializer instanceof StringRedisSerializer);
|
||||
|
||||
K key = keyFactory.instance();
|
||||
|
||||
zSetOperations.add(key, (V) "a", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "b", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "c", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "d", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "e", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "f", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "g", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
|
||||
zSetOperations.lexCount(key, Range.unbounded()).as(StepVerifier::create).expectNext(7L).verifyComplete();
|
||||
zSetOperations.lexCount(key, Range.leftOpen("b", "f")).as(StepVerifier::create).expectNext(4L).verifyComplete();
|
||||
zSetOperations.lexCount(key, Range.rightOpen("b", "f")).as(StepVerifier::create).expectNext(4L).verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
public void size() {
|
||||
|
||||
@@ -695,31 +715,4 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
public void lexCount() {
|
||||
|
||||
assumeTrue(serializer instanceof StringRedisSerializer);
|
||||
|
||||
K key = keyFactory.instance();
|
||||
|
||||
zSetOperations.add(key, (V) "a", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "b", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "c", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "d", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "e", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "f", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
zSetOperations.add(key, (V) "g", 0).as(StepVerifier::create).expectNext(true).verifyComplete();
|
||||
|
||||
zSetOperations.lexCount(key, Range.unbounded()).as(StepVerifier::create)
|
||||
.expectNext(7L)
|
||||
.verifyComplete();
|
||||
|
||||
zSetOperations.lexCount(key, Range.leftOpen("b", "f")).as(StepVerifier::create)
|
||||
.expectNext(4L)
|
||||
.verifyComplete();
|
||||
|
||||
zSetOperations.lexCount(key, Range.rightOpen("b", "f")).as(StepVerifier::create)
|
||||
.expectNext(4L)
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,6 +117,42 @@ public class DefaultZSetOperationsTests<K, V> {
|
||||
assertThat(zSetOps.count(key1, 2.7, 5.7)).isEqualTo(Long.valueOf(1));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
public void testLexCountUnbounded() {
|
||||
|
||||
assumeThat(valueFactory).isOfAnyClassIn(DoubleObjectFactory.class, DoubleAsStringObjectFactory.class,
|
||||
LongAsStringObjectFactory.class, LongObjectFactory.class);
|
||||
|
||||
K key = keyFactory.instance();
|
||||
V value1 = valueFactory.instance();
|
||||
V value2 = valueFactory.instance();
|
||||
V value3 = valueFactory.instance();
|
||||
|
||||
zSetOps.add(key, value1, 0);
|
||||
zSetOps.add(key, value2, 0);
|
||||
zSetOps.add(key, value3, 0);
|
||||
|
||||
assertThat(zSetOps.lexCount(key, RedisZSetCommands.Range.unbounded())).isEqualTo(3);
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
public void testLexCountBounded() {
|
||||
|
||||
assumeThat(valueFactory).isOfAnyClassIn(DoubleObjectFactory.class, DoubleAsStringObjectFactory.class,
|
||||
LongAsStringObjectFactory.class, LongObjectFactory.class);
|
||||
|
||||
K key = keyFactory.instance();
|
||||
V value1 = valueFactory.instance();
|
||||
V value2 = valueFactory.instance();
|
||||
V value3 = valueFactory.instance();
|
||||
|
||||
zSetOps.add(key, value1, 0);
|
||||
zSetOps.add(key, value2, 0);
|
||||
zSetOps.add(key, value3, 0);
|
||||
|
||||
assertThat(zSetOps.lexCount(key, RedisZSetCommands.Range.range().gt(value1))).isEqualTo(2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIncrementScore() {
|
||||
|
||||
@@ -461,39 +497,4 @@ public class DefaultZSetOperationsTests<K, V> {
|
||||
assertThat(zSetOps.score(key1, value1)).isCloseTo(6.0, offset(0.1));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
public void testLexCountUnbounded() {
|
||||
|
||||
assumeThat(valueFactory).isOfAnyClassIn(DoubleObjectFactory.class, DoubleAsStringObjectFactory.class,
|
||||
LongAsStringObjectFactory.class, LongObjectFactory.class);
|
||||
|
||||
K key = keyFactory.instance();
|
||||
V value1 = valueFactory.instance();
|
||||
V value2 = valueFactory.instance();
|
||||
V value3 = valueFactory.instance();
|
||||
|
||||
zSetOps.add(key, value1, 0);
|
||||
zSetOps.add(key, value2, 0);
|
||||
zSetOps.add(key, value3, 0);
|
||||
|
||||
assertThat(zSetOps.lexCount(key, RedisZSetCommands.Range.unbounded())).isEqualTo(3);
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
public void testLexCountBounded() {
|
||||
|
||||
assumeThat(valueFactory).isOfAnyClassIn(DoubleObjectFactory.class, DoubleAsStringObjectFactory.class,
|
||||
LongAsStringObjectFactory.class, LongObjectFactory.class);
|
||||
|
||||
K key = keyFactory.instance();
|
||||
V value1 = valueFactory.instance();
|
||||
V value2 = valueFactory.instance();
|
||||
V value3 = valueFactory.instance();
|
||||
|
||||
zSetOps.add(key, value1, 0);
|
||||
zSetOps.add(key, value2, 0);
|
||||
zSetOps.add(key, value3, 0);
|
||||
|
||||
assertThat(zSetOps.lexCount(key, RedisZSetCommands.Range.range().gt(value1))).isEqualTo(2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,6 +190,40 @@ public abstract class AbstractRedisZSetTest<T> extends AbstractRedisCollectionTe
|
||||
assertThat(zSet.rank(getT())).isNull();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
public void testLexCountUnbounded() {
|
||||
|
||||
assumeThat(factory).isOfAnyClassIn(DoubleObjectFactory.class, DoubleAsStringObjectFactory.class,
|
||||
LongAsStringObjectFactory.class, LongObjectFactory.class);
|
||||
|
||||
T t1 = getT();
|
||||
T t2 = getT();
|
||||
T t3 = getT();
|
||||
|
||||
zSet.add(t1, 1);
|
||||
zSet.add(t2, 1);
|
||||
zSet.add(t3, 1);
|
||||
|
||||
assertThat(zSet.lexCount(RedisZSetCommands.Range.unbounded())).isEqualTo(Long.valueOf(3));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
public void testLexCountBounded() {
|
||||
|
||||
assumeThat(factory).isOfAnyClassIn(DoubleObjectFactory.class, DoubleAsStringObjectFactory.class,
|
||||
LongAsStringObjectFactory.class, LongObjectFactory.class);
|
||||
|
||||
T t1 = getT();
|
||||
T t2 = getT();
|
||||
T t3 = getT();
|
||||
|
||||
zSet.add(t1, 1);
|
||||
zSet.add(t2, 1);
|
||||
zSet.add(t3, 1);
|
||||
|
||||
assertThat(zSet.lexCount(RedisZSetCommands.Range.range().gt(t1))).isEqualTo(Long.valueOf(2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testScore() {
|
||||
T t1 = getT();
|
||||
@@ -392,7 +426,7 @@ public abstract class AbstractRedisZSetTest<T> extends AbstractRedisCollectionTe
|
||||
@Test // DATAREDIS-407
|
||||
public void testRangeByLexBoundedWithLimit() {
|
||||
|
||||
assumeThat(factory).isOfAnyClassIn(DoubleObjectFactory.class, DoubleAsStringObjectFactory.class,
|
||||
assumeThat(factory).isOfAnyClassIn(DoubleObjectFactory.class,
|
||||
LongAsStringObjectFactory.class, LongObjectFactory.class);
|
||||
|
||||
T t1 = getT();
|
||||
@@ -661,38 +695,4 @@ public abstract class AbstractRedisZSetTest<T> extends AbstractRedisCollectionTe
|
||||
cursor.close();
|
||||
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
public void testLexCountUnbounded() {
|
||||
|
||||
assumeThat(factory).isOfAnyClassIn(DoubleObjectFactory.class, DoubleAsStringObjectFactory.class,
|
||||
LongAsStringObjectFactory.class, LongObjectFactory.class);
|
||||
|
||||
T t1 = getT();
|
||||
T t2 = getT();
|
||||
T t3 = getT();
|
||||
|
||||
zSet.add(t1, 1);
|
||||
zSet.add(t2, 1);
|
||||
zSet.add(t3, 1);
|
||||
|
||||
assertThat(zSet.lexCount(RedisZSetCommands.Range.unbounded())).isEqualTo(Long.valueOf(3));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-729
|
||||
public void testLexCountBounded() {
|
||||
|
||||
assumeThat(factory).isOfAnyClassIn(DoubleObjectFactory.class, DoubleAsStringObjectFactory.class,
|
||||
LongAsStringObjectFactory.class, LongObjectFactory.class);
|
||||
|
||||
T t1 = getT();
|
||||
T t2 = getT();
|
||||
T t3 = getT();
|
||||
|
||||
zSet.add(t1, 1);
|
||||
zSet.add(t2, 1);
|
||||
zSet.add(t3, 1);
|
||||
|
||||
assertThat(zSet.lexCount(RedisZSetCommands.Range.range().gt(t1))).isEqualTo(Long.valueOf(2));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user