Support sAdd with multiple values
DATAREDIS-99
This commit is contained in:
@@ -1281,7 +1281,17 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sAdd("myset", "foo"));
|
||||
actual.add(connection.sAdd("myset", "bar"));
|
||||
actual.add(connection.sMembers("myset"));
|
||||
verifyResults(Arrays.asList(new Object[] { true, true, new HashSet<String>(Arrays.asList(new String[] { "foo", "bar" })) }));
|
||||
verifyResults(Arrays.asList(new Object[] { 1l, 1l, new HashSet<String>(Arrays.asList(new String[] {
|
||||
"foo", "bar" })) }));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSAddMultiple() {
|
||||
actual.add(connection.sAdd("myset", "foo", "bar"));
|
||||
actual.add(connection.sAdd("myset", "baz"));
|
||||
actual.add(connection.sMembers("myset"));
|
||||
verifyResults(Arrays.asList(new Object[] { 2l, 1l, new HashSet<String>(Arrays.asList(new String[] {
|
||||
"foo", "bar", "baz" })) }));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1289,7 +1299,7 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sAdd("myset", "foo"));
|
||||
actual.add(connection.sAdd("myset", "bar"));
|
||||
actual.add(connection.sCard("myset"));
|
||||
verifyResults(Arrays.asList(new Object[] { true, true, 2l }));
|
||||
verifyResults(Arrays.asList(new Object[] { 1l, 1l, 2l }));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1299,7 +1309,7 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sAdd("otherset", "bar"));
|
||||
actual.add(connection.sDiff("myset", "otherset"));
|
||||
verifyResults(
|
||||
Arrays.asList(new Object[] { true, true, true,
|
||||
Arrays.asList(new Object[] { 1l, 1l, 1l,
|
||||
new HashSet<String>(Collections.singletonList("foo")) }));
|
||||
}
|
||||
|
||||
@@ -1311,7 +1321,7 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sDiffStore("thirdset", "myset", "otherset"));
|
||||
actual.add(connection.sMembers("thirdset"));
|
||||
verifyResults(
|
||||
Arrays.asList(new Object[] { true, true, true, 1l,
|
||||
Arrays.asList(new Object[] { 1l, 1l, 1l, 1l,
|
||||
new HashSet<String>(Collections.singletonList("foo")) }));
|
||||
}
|
||||
|
||||
@@ -1322,7 +1332,7 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sAdd("otherset", "bar"));
|
||||
actual.add(connection.sInter("myset", "otherset"));
|
||||
verifyResults(
|
||||
Arrays.asList(new Object[] { true, true, true,
|
||||
Arrays.asList(new Object[] { 1l, 1l, 1l,
|
||||
new HashSet<String>(Collections.singletonList("bar")) }));
|
||||
}
|
||||
|
||||
@@ -1334,7 +1344,7 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sInterStore("thirdset", "myset", "otherset"));
|
||||
actual.add(connection.sMembers("thirdset"));
|
||||
verifyResults(
|
||||
Arrays.asList(new Object[] { true, true, true, 1l,
|
||||
Arrays.asList(new Object[] { 1l, 1l, 1l, 1l,
|
||||
new HashSet<String>(Collections.singletonList("bar")) }));
|
||||
}
|
||||
|
||||
@@ -1344,7 +1354,7 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sAdd("myset", "bar"));
|
||||
actual.add(connection.sIsMember("myset", "foo"));
|
||||
actual.add(connection.sIsMember("myset", "baz"));
|
||||
verifyResults(Arrays.asList(new Object[] { true, true, true, false }));
|
||||
verifyResults(Arrays.asList(new Object[] { 1l, 1l, true, false }));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1353,7 +1363,7 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sAdd("myset", "bar"));
|
||||
actual.add(connection.sAdd("otherset", "bar"));
|
||||
actual.add(connection.sMove("myset", "otherset", "foo"));
|
||||
verifyResults(Arrays.asList(new Object[] { true, true, true, true }));
|
||||
verifyResults(Arrays.asList(new Object[] { 1l, 1l, 1l, true }));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1416,7 +1426,7 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sRem("myset", "baz"));
|
||||
actual.add(connection.sMembers("myset"));
|
||||
verifyResults(
|
||||
Arrays.asList(new Object[] { true, true, true, false,
|
||||
Arrays.asList(new Object[] { 1l, 1l, true, false,
|
||||
new HashSet<String>(Collections.singletonList("bar")) }));
|
||||
}
|
||||
|
||||
@@ -1427,7 +1437,7 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sAdd("otherset", "bar"));
|
||||
actual.add(connection.sAdd("otherset", "baz"));
|
||||
actual.add(connection.sUnion("myset", "otherset"));
|
||||
verifyResults(Arrays.asList(new Object[] { true, true, true, true,
|
||||
verifyResults(Arrays.asList(new Object[] { 1l, 1l, 1l, 1l,
|
||||
new HashSet<String>(Arrays.asList(new String[] { "foo", "bar", "baz" })) }));
|
||||
}
|
||||
|
||||
@@ -1439,7 +1449,7 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
actual.add(connection.sAdd("otherset", "baz"));
|
||||
actual.add(connection.sUnionStore("thirdset", "myset", "otherset"));
|
||||
actual.add(connection.sMembers("thirdset"));
|
||||
verifyResults(Arrays.asList(new Object[] { true, true, true, true, 3l,
|
||||
verifyResults(Arrays.asList(new Object[] { 1l, 1l, 1l, 1l, 3l,
|
||||
new HashSet<String>(Arrays.asList(new String[] { "foo", "bar", "baz" })) }));
|
||||
}
|
||||
|
||||
|
||||
@@ -697,13 +697,13 @@ public class DefaultStringRedisConnectionPipelineTests extends DefaultStringRedi
|
||||
|
||||
@Test
|
||||
public void testSAddBytes() {
|
||||
doReturn(Arrays.asList(new Object[] { true })).when(nativeConnection).closePipeline();
|
||||
doReturn(Arrays.asList(new Object[] { 1l })).when(nativeConnection).closePipeline();
|
||||
super.testSAddBytes();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSAdd() {
|
||||
doReturn(Arrays.asList(new Object[] { true })).when(nativeConnection).closePipeline();
|
||||
doReturn(Arrays.asList(new Object[] { 1l })).when(nativeConnection).closePipeline();
|
||||
super.testSAdd();
|
||||
}
|
||||
|
||||
|
||||
@@ -665,13 +665,13 @@ public class DefaultStringRedisConnectionPipelineTxTests extends
|
||||
|
||||
@Test
|
||||
public void testSAddBytes() {
|
||||
doReturn(Arrays.asList(new Object[] {Arrays.asList(new Object[] { true })})).when(nativeConnection).closePipeline();
|
||||
doReturn(Arrays.asList(new Object[] {Arrays.asList(new Object[] { 1l })})).when(nativeConnection).closePipeline();
|
||||
super.testSAddBytes();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSAdd() {
|
||||
doReturn(Arrays.asList(new Object[] {Arrays.asList(new Object[] { true })})).when(nativeConnection).closePipeline();
|
||||
doReturn(Arrays.asList(new Object[] {Arrays.asList(new Object[] { 1l })})).when(nativeConnection).closePipeline();
|
||||
super.testSAdd();
|
||||
}
|
||||
|
||||
|
||||
@@ -842,16 +842,16 @@ public class DefaultStringRedisConnectionTests {
|
||||
|
||||
@Test
|
||||
public void testSAddBytes() {
|
||||
doReturn(true).when(nativeConnection).sAdd(fooBytes, barBytes);
|
||||
doReturn(1l).when(nativeConnection).sAdd(fooBytes, barBytes);
|
||||
actual.add(connection.sAdd(fooBytes, barBytes));
|
||||
verifyResults(Arrays.asList(new Object[] { true }));
|
||||
verifyResults(Arrays.asList(new Object[] { 1l }));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSAdd() {
|
||||
doReturn(true).when(nativeConnection).sAdd(fooBytes, barBytes);
|
||||
doReturn(1l).when(nativeConnection).sAdd(fooBytes, barBytes);
|
||||
actual.add(connection.sAdd(foo, bar));
|
||||
verifyResults(Arrays.asList(new Object[] { true }));
|
||||
verifyResults(Arrays.asList(new Object[] { 1l }));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -664,13 +664,13 @@ public class DefaultStringRedisConnectionTxTests extends DefaultStringRedisConne
|
||||
|
||||
@Test
|
||||
public void testSAddBytes() {
|
||||
doReturn(Arrays.asList(new Object[] { true })).when(nativeConnection).exec();
|
||||
doReturn(Arrays.asList(new Object[] { 1l })).when(nativeConnection).exec();
|
||||
super.testSAddBytes();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSAdd() {
|
||||
doReturn(Arrays.asList(new Object[] { true })).when(nativeConnection).exec();
|
||||
doReturn(Arrays.asList(new Object[] { 1l })).when(nativeConnection).exec();
|
||||
super.testSAdd();
|
||||
}
|
||||
|
||||
|
||||
@@ -441,4 +441,9 @@ public class JedisConnectionPipelineIntegrationTests extends
|
||||
public void testRPushMultiple() {
|
||||
super.testRPushMultiple();
|
||||
}
|
||||
|
||||
@Test(expected=UnsupportedOperationException.class)
|
||||
public void testSAddMultiple() {
|
||||
super.testSAddMultiple();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -377,4 +377,9 @@ public class JedisConnectionTransactionIntegrationTests extends
|
||||
public void testRPushMultiple() {
|
||||
super.testRPushMultiple();
|
||||
}
|
||||
|
||||
@Test(expected=UnsupportedOperationException.class)
|
||||
public void testSAddMultiple() {
|
||||
super.testSAddMultiple();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -575,6 +575,11 @@ public class JRedisConnectionIntegrationTests extends AbstractConnectionIntegrat
|
||||
super.testRPushMultiple();
|
||||
}
|
||||
|
||||
@Test(expected=UnsupportedOperationException.class)
|
||||
public void testSAddMultiple() {
|
||||
super.testSAddMultiple();
|
||||
}
|
||||
|
||||
// Jredis returns null for rPush and lPush
|
||||
@Test
|
||||
public void testLLen() {
|
||||
@@ -705,7 +710,7 @@ public class JRedisConnectionIntegrationTests extends AbstractConnectionIntegrat
|
||||
actual.add(connection.sDiffStore("thirdset", "myset", "otherset"));
|
||||
actual.add(connection.sMembers("thirdset"));
|
||||
// JRedis returns void for sDiffStore, so we always return -1
|
||||
verifyResults(Arrays.asList(new Object[] { true, true, true, -1l,
|
||||
verifyResults(Arrays.asList(new Object[] { 1l, 1l, 1l, -1l,
|
||||
new HashSet<String>(Collections.singletonList("foo")) }));
|
||||
}
|
||||
|
||||
@@ -717,7 +722,7 @@ public class JRedisConnectionIntegrationTests extends AbstractConnectionIntegrat
|
||||
actual.add(connection.sInterStore("thirdset", "myset", "otherset"));
|
||||
actual.add(connection.sMembers("thirdset"));
|
||||
// JRedis returns void for sInterStore, so we always return -1
|
||||
verifyResults(Arrays.asList(new Object[] { true, true, true, -1l,
|
||||
verifyResults(Arrays.asList(new Object[] { 1l, 1l, 1l, -1l,
|
||||
new HashSet<String>(Collections.singletonList("bar")) }));
|
||||
}
|
||||
|
||||
@@ -730,7 +735,7 @@ public class JRedisConnectionIntegrationTests extends AbstractConnectionIntegrat
|
||||
actual.add(connection.sUnionStore("thirdset", "myset", "otherset"));
|
||||
actual.add(connection.sMembers("thirdset"));
|
||||
// JRedis returns void for sUnionStore, so we always return -1
|
||||
verifyResults(Arrays.asList(new Object[] { true, true, true, true, -1l,
|
||||
verifyResults(Arrays.asList(new Object[] { 1l, 1l, 1l, 1l, -1l,
|
||||
new HashSet<String>(Arrays.asList(new String[] { "foo", "bar", "baz" })) }));
|
||||
}
|
||||
|
||||
|
||||
@@ -105,6 +105,7 @@ public class DefaultSetOperationsTests<K,V> {
|
||||
assertThat(expected, hasItems((V[])members.toArray()));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void testRandomMembersWithDuplicates() {
|
||||
assumeTrue(RedisTestProfileValueSource.matches("redisVersion", "2.6"));
|
||||
@@ -138,6 +139,7 @@ public class DefaultSetOperationsTests<K,V> {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void testMove() {
|
||||
K key1 = keyFactory.instance();
|
||||
@@ -153,6 +155,7 @@ public class DefaultSetOperationsTests<K,V> {
|
||||
isEqual(new HashSet<V>(Collections.singletonList(v1))));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void testPop() {
|
||||
K key = keyFactory.instance();
|
||||
@@ -162,6 +165,7 @@ public class DefaultSetOperationsTests<K,V> {
|
||||
assertTrue(setOps.members(key).isEmpty());
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void testRandomMember() {
|
||||
K key = keyFactory.instance();
|
||||
@@ -169,4 +173,17 @@ public class DefaultSetOperationsTests<K,V> {
|
||||
setOps.add(key, v1);
|
||||
assertThat(setOps.randomMember(key), isEqual(v1));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void testAdd() {
|
||||
K key = keyFactory.instance();
|
||||
V v1 = valueFactory.instance();
|
||||
V v2 = valueFactory.instance();
|
||||
assertEquals(Long.valueOf(2), setOps.add(key, v1, v2));
|
||||
Set<V> expected = new HashSet<V>();
|
||||
expected.add(v1);
|
||||
expected.add(v2);
|
||||
assertThat(setOps.members(key), isEqual(expected));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ public class RedisTemplateTests<K,V> {
|
||||
Set<V> set = new HashSet<V>(Collections.singletonList(setValue));
|
||||
Set<TypedTuple<V>> tupleSet = new LinkedHashSet<TypedTuple<V>>(
|
||||
Collections.singletonList(new DefaultTypedTuple<V>(zsetValue, 1d)));
|
||||
assertThat(results, isEqual(Arrays.asList(new Object[] {value1, 1l, list, true, set, true, tupleSet})));
|
||||
assertThat(results, isEqual(Arrays.asList(new Object[] {value1, 1l, list, 1l, set, true, tupleSet})));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -241,7 +241,7 @@ public class RedisTemplateTests<K,V> {
|
||||
Map<Long, Long> map = new LinkedHashMap<Long,Long>();
|
||||
map.put(10l, 11l);
|
||||
assertThat(results,
|
||||
isEqual(Arrays.asList(new Object[] {5l, 1l, list, true, longSet, true, tupleSet, zSet, true, map})));
|
||||
isEqual(Arrays.asList(new Object[] {5l, 1l, list, 1l, longSet, true, tupleSet, zSet, true, map})));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user