Skip to content

Commit ac54149

Browse files
committed
Add intersectSize test for SINTERCARD operation in DefaultSetOperationsIntegrationTests
1 parent aefe3d8 commit ac54149

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/test/java/org/springframework/data/redis/core/DefaultSetOperationsIntegrationTests.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
* @author Christoph Strobl
3939
* @author Thomas Darimont
4040
* @author Mark Paluch
41+
* @author Mingi Lee
4142
*/
4243
@ParameterizedClass
4344
@MethodSource("testParams")
@@ -329,6 +330,38 @@ void intersectAndStoreShouldReturnNumberOfElementsInDestination() {
329330
assertThat(setOps.intersectAndStore(Arrays.asList(sourceKey1, sourceKey2), destinationKey)).isEqualTo(2L);
330331
}
331332

333+
@Test // GH-2906
334+
@EnabledOnCommand("SINTERCARD")
335+
void intersectSizeShouldReturnIntersectionCardinality() {
336+
337+
K sourceKey1 = keyFactory.instance();
338+
K sourceKey2 = keyFactory.instance();
339+
K sourceKey3 = keyFactory.instance();
340+
341+
V v1 = valueFactory.instance();
342+
V v2 = valueFactory.instance();
343+
V v3 = valueFactory.instance();
344+
V v4 = valueFactory.instance();
345+
V v5 = valueFactory.instance();
346+
347+
setOps.add(sourceKey1, v1, v2, v3);
348+
setOps.add(sourceKey2, v2, v3, v4);
349+
setOps.add(sourceKey3, v3, v4, v5);
350+
351+
// Test two keys intersection
352+
assertThat(setOps.intersectSize(sourceKey1, sourceKey2)).isEqualTo(2L);
353+
354+
// Test key and collection intersection
355+
assertThat(setOps.intersectSize(sourceKey1, Arrays.asList(sourceKey2, sourceKey3))).isEqualTo(1L);
356+
357+
// Test collection intersection
358+
assertThat(setOps.intersectSize(Arrays.asList(sourceKey1, sourceKey2, sourceKey3))).isEqualTo(1L);
359+
360+
// Test empty intersection
361+
K emptyKey = keyFactory.instance();
362+
assertThat(setOps.intersectSize(sourceKey1, emptyKey)).isEqualTo(0L);
363+
}
364+
332365
@Test // GH-2037
333366
@EnabledOnCommand("SMISMEMBER")
334367
void isMember() {

0 commit comments

Comments
 (0)