|
|
|
@ -1,6 +1,11 @@
|
|
|
|
|
package org.redisson;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.HashSet;
|
|
|
|
|
import java.util.Iterator;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.ListIterator;
|
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
|
|
import org.hamcrest.MatcherAssert;
|
|
|
|
@ -10,20 +15,74 @@ import org.junit.Test;
|
|
|
|
|
|
|
|
|
|
public class RedissonSetTest extends BaseTest {
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testIteratorRemove() {
|
|
|
|
|
Set<String> list = redisson.getSet("list");
|
|
|
|
|
list.add("1");
|
|
|
|
|
list.add("4");
|
|
|
|
|
list.add("2");
|
|
|
|
|
list.add("5");
|
|
|
|
|
list.add("3");
|
|
|
|
|
|
|
|
|
|
for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
|
|
|
|
|
String value = iterator.next();
|
|
|
|
|
if (value.equals("2")) {
|
|
|
|
|
iterator.remove();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Assert.assertThat(list, Matchers.containsInAnyOrder("1", "4", "5", "3"));
|
|
|
|
|
|
|
|
|
|
int iteration = 0;
|
|
|
|
|
for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
|
|
|
|
|
iterator.next();
|
|
|
|
|
iterator.remove();
|
|
|
|
|
iteration++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Assert.assertEquals(4, iteration);
|
|
|
|
|
|
|
|
|
|
Assert.assertEquals(0, list.size());
|
|
|
|
|
Assert.assertTrue(list.isEmpty());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testIteratorSequence() {
|
|
|
|
|
Set<Long> set = redisson.getSet("set");
|
|
|
|
|
for (int i = 0; i < 1000; i++) {
|
|
|
|
|
set.add(Long.valueOf(i));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Set<Long> setCopy = new HashSet<Long>();
|
|
|
|
|
for (int i = 0; i < 1000; i++) {
|
|
|
|
|
setCopy.add(Long.valueOf(i));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
checkIterator(set, setCopy);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void checkIterator(Set<Long> set, Set<Long> setCopy) {
|
|
|
|
|
for (Iterator<Long> iterator = set.iterator(); iterator.hasNext();) {
|
|
|
|
|
Long value = iterator.next();
|
|
|
|
|
if (!setCopy.remove(value)) {
|
|
|
|
|
Assert.fail();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Assert.assertEquals(0, setCopy.size());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testLong() {
|
|
|
|
|
Redisson redisson = Redisson.create();
|
|
|
|
|
Set<Long> set = redisson.getSet("set");
|
|
|
|
|
set.add(1L);
|
|
|
|
|
set.add(2L);
|
|
|
|
|
|
|
|
|
|
Assert.assertThat(set, Matchers.containsInAnyOrder(1L, 2L));
|
|
|
|
|
clear(set, redisson);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testRetainAll() {
|
|
|
|
|
Redisson redisson = Redisson.create();
|
|
|
|
|
Set<Integer> set = redisson.getSet("set");
|
|
|
|
|
for (int i = 0; i < 200; i++) {
|
|
|
|
|
set.add(i);
|
|
|
|
@ -31,13 +90,10 @@ public class RedissonSetTest extends BaseTest {
|
|
|
|
|
|
|
|
|
|
Assert.assertTrue(set.retainAll(Arrays.asList(1, 2)));
|
|
|
|
|
Assert.assertEquals(2, set.size());
|
|
|
|
|
|
|
|
|
|
clear(set, redisson);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testContainsAll() {
|
|
|
|
|
Redisson redisson = Redisson.create();
|
|
|
|
|
Set<Integer> set = redisson.getSet("set");
|
|
|
|
|
for (int i = 0; i < 200; i++) {
|
|
|
|
|
set.add(i);
|
|
|
|
@ -45,13 +101,10 @@ public class RedissonSetTest extends BaseTest {
|
|
|
|
|
|
|
|
|
|
Assert.assertTrue(set.containsAll(Arrays.asList(30, 11)));
|
|
|
|
|
Assert.assertFalse(set.containsAll(Arrays.asList(30, 711, 11)));
|
|
|
|
|
|
|
|
|
|
clear(set, redisson);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testToArray() {
|
|
|
|
|
Redisson redisson = Redisson.create();
|
|
|
|
|
Set<String> set = redisson.getSet("set");
|
|
|
|
|
set.add("1");
|
|
|
|
|
set.add("4");
|
|
|
|
@ -63,13 +116,10 @@ public class RedissonSetTest extends BaseTest {
|
|
|
|
|
|
|
|
|
|
String[] strs = set.toArray(new String[0]);
|
|
|
|
|
MatcherAssert.assertThat(Arrays.asList(strs), Matchers.containsInAnyOrder("1", "4", "2", "5", "3"));
|
|
|
|
|
|
|
|
|
|
clear(set, redisson);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testContains() {
|
|
|
|
|
Redisson redisson = Redisson.create();
|
|
|
|
|
Set<TestObject> set = redisson.getSet("set");
|
|
|
|
|
|
|
|
|
|
set.add(new TestObject("1", "2"));
|
|
|
|
@ -81,13 +131,10 @@ public class RedissonSetTest extends BaseTest {
|
|
|
|
|
Assert.assertTrue(set.contains(new TestObject("2", "3")));
|
|
|
|
|
Assert.assertTrue(set.contains(new TestObject("1", "2")));
|
|
|
|
|
Assert.assertFalse(set.contains(new TestObject("1", "9")));
|
|
|
|
|
|
|
|
|
|
clear(set, redisson);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testDuplicates() {
|
|
|
|
|
Redisson redisson = Redisson.create();
|
|
|
|
|
Set<TestObject> set = redisson.getSet("set");
|
|
|
|
|
|
|
|
|
|
set.add(new TestObject("1", "2"));
|
|
|
|
@ -97,13 +144,10 @@ public class RedissonSetTest extends BaseTest {
|
|
|
|
|
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);
|
|
|
|
@ -114,8 +158,6 @@ public class RedissonSetTest extends BaseTest {
|
|
|
|
|
set.add(5);
|
|
|
|
|
|
|
|
|
|
Assert.assertEquals(5, set.size());
|
|
|
|
|
|
|
|
|
|
clear(set, redisson);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|