DATAREDIS-873 - Polishing.

Add since tags. Add tests. Reformat code. Update docs.

Original pull request: #361.
This commit is contained in:
Mark Paluch
2018-11-23 11:48:25 +01:00
parent 724579b8a9
commit b440dc1f1f
7 changed files with 181 additions and 29 deletions

View File

@@ -20,6 +20,7 @@ import static org.junit.Assume.*;
import reactor.test.StepVerifier;
import java.util.Arrays;
import java.util.Collection;
import org.junit.AfterClass;
@@ -171,7 +172,7 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
StepVerifier.create(setOperations.isMember(key, value1)).expectNext(true).verifyComplete();
}
@Test // DATAREDIS-602
@Test // DATAREDIS-602, DATAREDIS-873
public void intersect() {
assumeFalse(valueFactory instanceof ByteBufferObjectFactory);
@@ -191,9 +192,15 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
assertThat(actual).isEqualTo(shared);
}) //
.verifyComplete();
StepVerifier.create(setOperations.intersect(Arrays.asList(key, otherKey))) //
.consumeNextWith(actual -> {
assertThat(actual).isEqualTo(shared);
}) //
.verifyComplete();
}
@Test // DATAREDIS-602
@Test // DATAREDIS-602, DATAREDIS-873
public void intersectAndStore() {
K key = keyFactory.instance();
@@ -211,9 +218,16 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
.verify();
StepVerifier.create(setOperations.isMember(destKey, shared)).expectNext(true).verifyComplete();
StepVerifier.create(setOperations.delete(destKey)).expectNext(true).verifyComplete();
StepVerifier.create(setOperations.intersectAndStore(Arrays.asList(key, otherKey), destKey)).expectNext(1L)
.expectComplete().verify();
StepVerifier.create(setOperations.isMember(destKey, shared)).expectNext(true).verifyComplete();
}
@Test // DATAREDIS-602
@Test // DATAREDIS-602, DATAREDIS-873
public void difference() {
assumeFalse(valueFactory instanceof ByteBufferObjectFactory);
@@ -233,9 +247,15 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
assertThat(actual).isEqualTo(onlyInKey);
}) //
.verifyComplete();
StepVerifier.create(setOperations.difference(Arrays.asList(key, otherKey))) //
.consumeNextWith(actual -> {
assertThat(actual).isEqualTo(onlyInKey);
}) //
.verifyComplete();
}
@Test // DATAREDIS-602
@Test // DATAREDIS-602, DATAREDIS-873
public void differenceAndStore() {
K key = keyFactory.instance();
@@ -252,10 +272,13 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
StepVerifier.create(setOperations.differenceAndStore(key, otherKey, destKey)).expectNext(1L).expectComplete()
.verify();
StepVerifier.create(setOperations.differenceAndStore(Arrays.asList(key, otherKey), destKey)).expectNext(1L)
.expectComplete().verify();
StepVerifier.create(setOperations.isMember(destKey, onlyInKey)).expectNext(true).verifyComplete();
}
@Test // DATAREDIS-602
@Test // DATAREDIS-602, DATAREDIS-873
public void union() {
assumeFalse(valueFactory instanceof ByteBufferObjectFactory);
@@ -273,9 +296,13 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
StepVerifier.create(setOperations.union(key, otherKey)) //
.expectNextCount(3) //
.verifyComplete();
StepVerifier.create(setOperations.union(Arrays.asList(key, otherKey))) //
.expectNextCount(3) //
.verifyComplete();
}
@Test // DATAREDIS-602
@Test // DATAREDIS-602, DATAREDIS-873
public void unionAndStore() {
K key = keyFactory.instance();
@@ -291,6 +318,11 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
StepVerifier.create(setOperations.unionAndStore(key, otherKey, destKey)).expectNext(3L).verifyComplete();
StepVerifier.create(setOperations.delete(destKey)).expectNext(true).verifyComplete();
StepVerifier.create(setOperations.unionAndStore(Arrays.asList(key, otherKey), destKey)).expectNext(3L)
.verifyComplete();
StepVerifier.create(setOperations.isMember(destKey, onlyInKey)).expectNext(true).verifyComplete();
StepVerifier.create(setOperations.isMember(destKey, shared)).expectNext(true).verifyComplete();
StepVerifier.create(setOperations.isMember(destKey, onlyInOtherKey)).expectNext(true).verifyComplete();

View File

@@ -22,6 +22,7 @@ import static org.junit.Assume.*;
import static org.springframework.data.redis.matcher.RedisTestMatchers.*;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@@ -49,6 +50,7 @@ import org.springframework.test.annotation.IfProfileValue;
* @author Jennifer Hickey
* @author Christoph Strobl
* @author Thomas Darimont
* @author Mark Paluch
*/
@RunWith(Parameterized.class)
public class DefaultSetOperationsTests<K, V> {
@@ -243,7 +245,94 @@ public class DefaultSetOperationsTests<K, V> {
assertThat(count, is(setOps.size(key)));
}
@Test // DATAREDIS-448
@Test // DATAREDIS-873
public void diffShouldReturnDifference() {
K sourceKey1 = keyFactory.instance();
K sourceKey2 = keyFactory.instance();
V v1 = valueFactory.instance();
V v2 = valueFactory.instance();
V v3 = valueFactory.instance();
V v4 = valueFactory.instance();
setOps.add(sourceKey1, v1, v2, v3);
setOps.add(sourceKey2, v2, v3, v4);
assertThat(setOps.difference(Arrays.asList(sourceKey1, sourceKey2)), hasItems(v1));
}
@Test // DATAREDIS-873
public void diffAndStoreShouldReturnDifferenceShouldReturnNumberOfElementsInDestination() {
K sourceKey1 = keyFactory.instance();
K sourceKey2 = keyFactory.instance();
K destinationKey = keyFactory.instance();
V v1 = valueFactory.instance();
V v2 = valueFactory.instance();
V v3 = valueFactory.instance();
V v4 = valueFactory.instance();
setOps.add(sourceKey1, v1, v2, v3);
setOps.add(sourceKey2, v2, v3, v4);
assertThat(setOps.differenceAndStore(Arrays.asList(sourceKey1, sourceKey2), destinationKey), isEqual(1L));
}
@Test // DATAREDIS-873
public void unionShouldConcatSets() {
K sourceKey1 = keyFactory.instance();
K sourceKey2 = keyFactory.instance();
V v1 = valueFactory.instance();
V v2 = valueFactory.instance();
V v3 = valueFactory.instance();
V v4 = valueFactory.instance();
setOps.add(sourceKey1, v1, v2, v3);
setOps.add(sourceKey2, v2, v3, v4);
assertThat(setOps.union(Arrays.asList(sourceKey1, sourceKey2)), hasItems(v1, v2, v3, v4));
}
@Test // DATAREDIS-873
public void unionAndStoreShouldReturnDifferenceShouldReturnNumberOfElementsInDestination() {
K sourceKey1 = keyFactory.instance();
K sourceKey2 = keyFactory.instance();
K destinationKey = keyFactory.instance();
V v1 = valueFactory.instance();
V v2 = valueFactory.instance();
V v3 = valueFactory.instance();
V v4 = valueFactory.instance();
setOps.add(sourceKey1, v1, v2, v3);
setOps.add(sourceKey2, v2, v3, v4);
assertThat(setOps.unionAndStore(Arrays.asList(sourceKey1, sourceKey2), destinationKey), isEqual(4L));
}
@Test // DATAREDIS-873
public void intersectShouldReturnElements() {
K sourceKey1 = keyFactory.instance();
K sourceKey2 = keyFactory.instance();
V v1 = valueFactory.instance();
V v2 = valueFactory.instance();
V v3 = valueFactory.instance();
V v4 = valueFactory.instance();
setOps.add(sourceKey1, v1, v2, v3);
setOps.add(sourceKey2, v2, v3, v4);
assertThat(setOps.intersect(Arrays.asList(sourceKey1, sourceKey2)), hasSize(2));
}
@Test // DATAREDIS-448, DATAREDIS-873
public void intersectAndStoreShouldReturnNumberOfElementsInDestination() {
K sourceKey1 = keyFactory.instance();
@@ -259,5 +348,6 @@ public class DefaultSetOperationsTests<K, V> {
setOps.add(sourceKey2, v2, v3, v4);
assertThat(setOps.intersectAndStore(sourceKey1, sourceKey2, destinationKey), is(2L));
assertThat(setOps.intersectAndStore(Arrays.asList(sourceKey1, sourceKey2), destinationKey), is(2L));
}
}