Support lPush with multiple values

DATAREDIS-99
This commit is contained in:
Jennifer Hickey
2013-07-31 18:09:56 -07:00
parent 8f362b481c
commit 36780d14a1
17 changed files with 87 additions and 20 deletions

View File

@@ -1259,6 +1259,14 @@ public abstract class AbstractConnectionIntegrationTests {
Arrays.asList(new String[] { "baz", "bar" }) }));
}
@Test
public void testLPushMultiple() {
actual.add(connection.lPush("testlist", "bar", "baz"));
actual.add(connection.lRange("testlist", 0, -1));
verifyResults(Arrays.asList(new Object[] { 2l,
Arrays.asList(new String[] { "baz", "bar" }) }));
}
// Set operations
@Test

View File

@@ -431,4 +431,9 @@ public class JedisConnectionPipelineIntegrationTests extends
public void testHDelMultiple() {
super.testHDelMultiple();
}
@Test(expected=UnsupportedOperationException.class)
public void testLPushMultiple() {
super.testLPushMultiple();
}
}

View File

@@ -367,4 +367,9 @@ public class JedisConnectionTransactionIntegrationTests extends
public void testHDelMultiple() {
super.testHDelMultiple();
}
@Test(expected=UnsupportedOperationException.class)
public void testLPushMultiple() {
super.testLPushMultiple();
}
}

View File

@@ -565,6 +565,11 @@ public class JRedisConnectionIntegrationTests extends AbstractConnectionIntegrat
super.testHDelMultiple();
}
@Test(expected=UnsupportedOperationException.class)
public void testLPushMultiple() {
super.testLPushMultiple();
}
// Jredis returns null for rPush and lPush
@Test
public void testLLen() {

View File

@@ -106,6 +106,18 @@ public class DefaultListOperationsTests<K,V> {
assertThat(listOps.range(key, 0, -1), isEqual(Arrays.asList(new Object[] {v2, v1})));
}
@SuppressWarnings("unchecked")
@Test
public void testLeftPushAll() {
K key = keyFactory.instance();
V v1 = valueFactory.instance();
V v2 = valueFactory.instance();
V v3 = valueFactory.instance();
assertEquals(Long.valueOf(2),listOps.leftPushAll(key, v1, v2));
assertEquals(Long.valueOf(3), listOps.leftPush(key, v3));
assertThat(listOps.range(key, 0, -1), isEqual(Arrays.asList(new Object[] {v3, v2, v1})));
}
@Test
public void testRightPopAndLeftPushTimeout() {
// 1 ms timeout gets upgraded to 1 sec timeout at the moment