From cf5046820050a6a4752420b85a59a9e0eda77d70 Mon Sep 17 00:00:00 2001 From: Nikita <abracham.mitchell@gmail.com> Date: Sat, 4 Jan 2014 10:56:14 +0400 Subject: [PATCH] RedissonSet tests added --- src/main/java/org/redisson/RedissonSet.java | 1 + .../java/org/redisson/BaseRedissonTest.java | 16 +++++++ .../java/org/redisson/RedissonListTest.java | 25 +++++++---- .../java/org/redisson/RedissonSetTest.java | 45 +++++++++++++++++++ src/test/java/org/redisson/TestObject.java | 25 +++++++++++ 5 files changed, 103 insertions(+), 9 deletions(-) create mode 100644 src/test/java/org/redisson/BaseRedissonTest.java create mode 100644 src/test/java/org/redisson/RedissonSetTest.java create mode 100644 src/test/java/org/redisson/TestObject.java diff --git a/src/main/java/org/redisson/RedissonSet.java b/src/main/java/org/redisson/RedissonSet.java index 819d2d024..b38a857b1 100644 --- a/src/main/java/org/redisson/RedissonSet.java +++ b/src/main/java/org/redisson/RedissonSet.java @@ -50,6 +50,7 @@ public class RedissonSet<V> implements Set<V> { @Override public Iterator<V> iterator() { + // TODO use SSCAN in case of usage Redis 2.8 return (Iterator<V>) connection.smembers(name).iterator(); } diff --git a/src/test/java/org/redisson/BaseRedissonTest.java b/src/test/java/org/redisson/BaseRedissonTest.java new file mode 100644 index 000000000..a6a8cbbd0 --- /dev/null +++ b/src/test/java/org/redisson/BaseRedissonTest.java @@ -0,0 +1,16 @@ +package org.redisson; + +import java.util.Collection; + +import org.junit.Assert; + +public abstract class BaseRedissonTest { + + protected void clear(Collection<?> collection, Redisson redisson) { + collection.clear(); + Assert.assertEquals(0, collection.size()); + + redisson.shutdown(); + } + +} diff --git a/src/test/java/org/redisson/RedissonListTest.java b/src/test/java/org/redisson/RedissonListTest.java index 6eb3aca17..e79223628 100644 --- a/src/test/java/org/redisson/RedissonListTest.java +++ b/src/test/java/org/redisson/RedissonListTest.java @@ -12,7 +12,7 @@ import org.hamcrest.Matchers; import org.junit.Assert; import org.junit.Test; -public class RedissonListTest { +public class RedissonListTest extends BaseRedissonTest { @Test(expected = IllegalStateException.class) public void testListIteratorSetListFail() { @@ -684,6 +684,21 @@ public class RedissonListTest { clear(list, redisson); } + @Test + public void testDuplicates() { + Redisson redisson = Redisson.create(); + List<TestObject> list = redisson.getList("list"); + + list.add(new TestObject("1", "2")); + list.add(new TestObject("1", "2")); + list.add(new TestObject("2", "3")); + list.add(new TestObject("3", "4")); + list.add(new TestObject("5", "6")); + + Assert.assertEquals(5, list.size()); + + clear(list, redisson); + } @Test public void testSize() { @@ -707,12 +722,4 @@ public class RedissonListTest { clear(list, redisson); } - private void clear(Collection<?> list, Redisson redisson) { - list.clear(); - Assert.assertEquals(0, list.size()); - - redisson.shutdown(); - } - - } diff --git a/src/test/java/org/redisson/RedissonSetTest.java b/src/test/java/org/redisson/RedissonSetTest.java new file mode 100644 index 000000000..730146807 --- /dev/null +++ b/src/test/java/org/redisson/RedissonSetTest.java @@ -0,0 +1,45 @@ +package org.redisson; + +import java.util.Collection; +import java.util.List; +import java.util.Set; + +import org.junit.Assert; +import org.junit.Test; + +public class RedissonSetTest extends BaseRedissonTest { + + @Test + public void testDuplicates() { + Redisson redisson = Redisson.create(); + Set<TestObject> set = redisson.getSet("list"); + + set.add(new TestObject("1", "2")); + set.add(new TestObject("1", "2")); + set.add(new TestObject("2", "3")); + set.add(new TestObject("3", "4")); + set.add(new TestObject("5", "6")); + + Assert.assertEquals(4, set.size()); + + clear(set, redisson); + } + + @Test + public void testSize() { + Redisson redisson = Redisson.create(); + Set<Integer> set = redisson.getSet("set"); + set.add(1); + set.add(2); + set.add(3); + set.add(3); + set.add(4); + set.add(5); + set.add(5); + + Assert.assertEquals(5, set.size()); + + clear(set, redisson); + } + +} diff --git a/src/test/java/org/redisson/TestObject.java b/src/test/java/org/redisson/TestObject.java new file mode 100644 index 000000000..627f1a62e --- /dev/null +++ b/src/test/java/org/redisson/TestObject.java @@ -0,0 +1,25 @@ +package org.redisson; + +public class TestObject { + + private String name; + private String value; + + public TestObject() { + } + + public TestObject(String name, String value) { + super(); + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public String getValue() { + return value; + } + +}