|
@@ -13,11 +13,16 @@ import java.util.Map.Entry;
|
|
|
import java.util.NoSuchElementException;
|
|
import java.util.NoSuchElementException;
|
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
|
import java.util.function.Supplier;
|
|
import java.util.function.Supplier;
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
|
|
+import net.ranides.assira.collection.lookups.Lookup;
|
|
|
import net.ranides.assira.collection.mockup.TPoint;
|
|
import net.ranides.assira.collection.mockup.TPoint;
|
|
|
-import net.ranides.assira.collection.mockup.ValueEnum;
|
|
|
|
|
-import static net.ranides.assira.collection.mockup.ValueEnum.*;
|
|
|
|
|
-import static net.ranides.assira.collection.mockup.TPointUtils.*;
|
|
|
|
|
|
|
+//import net.ranides.assira.collection.mockup.ValueEnum;
|
|
|
|
|
+//import static net.ranides.assira.collection.mockup.ValueEnum.*;
|
|
|
|
|
+//import static net.ranides.assira.collection.mockup.TPointUtils.*;
|
|
|
import net.ranides.assira.junit.QAssert;
|
|
import net.ranides.assira.junit.QAssert;
|
|
|
|
|
+import net.ranides.assira.test.TMap;
|
|
|
|
|
+import net.ranides.assira.test.TMap.TItem;
|
|
|
|
|
+import net.ranides.assira.test.TMap.TItems;
|
|
|
import static org.junit.Assert.*;
|
|
import static org.junit.Assert.*;
|
|
|
import org.junit.Test;
|
|
import org.junit.Test;
|
|
|
|
|
|
|
@@ -26,8 +31,8 @@ import org.junit.Test;
|
|
|
* @author Ranides Atterwim <ranides@gmail.com>
|
|
* @author Ranides Atterwim <ranides@gmail.com>
|
|
|
*/
|
|
*/
|
|
|
@SuppressWarnings("PMD.MethodNameRules")
|
|
@SuppressWarnings("PMD.MethodNameRules")
|
|
|
-public final class MapTester {
|
|
|
|
|
-
|
|
|
|
|
|
|
+public final class MapTester<K,V> {
|
|
|
|
|
+
|
|
|
private static final int BASIC_PUT = 128;
|
|
private static final int BASIC_PUT = 128;
|
|
|
|
|
|
|
|
private static final int BASIC_PUT_REPLACE = 40;
|
|
private static final int BASIC_PUT_REPLACE = 40;
|
|
@@ -38,155 +43,148 @@ public final class MapTester {
|
|
|
|
|
|
|
|
private static final int BASIC_REMOVE_RANDOM = 273;
|
|
private static final int BASIC_REMOVE_RANDOM = 273;
|
|
|
|
|
|
|
|
|
|
+ @Resource(name = "map!")
|
|
|
|
|
+ private TMap<K,V> $map;
|
|
|
|
|
+
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicPut(Map<TPoint, Integer> target) {
|
|
|
|
|
- int prev = target.size();
|
|
|
|
|
- int value = 200;
|
|
|
|
|
- for (TPoint point : $keys(BASIC_PUT)) {
|
|
|
|
|
- target.put(point, value++);
|
|
|
|
|
|
|
+ public void basicPut(Map<K, V> target) {
|
|
|
|
|
+ for(TItem<K,V> item : $map.range(BASIC_PUT)) {
|
|
|
|
|
+ target.put(item.key(), item.value());
|
|
|
}
|
|
}
|
|
|
- assertEquals(prev + BASIC_PUT, target.size());
|
|
|
|
|
|
|
+ assertEquals(BASIC_PUT, target.size());
|
|
|
|
|
|
|
|
logicPut(target);
|
|
logicPut(target);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void logicPut(Map<TPoint, Integer> target) {
|
|
|
|
|
|
|
+ public void logicPut(Map<K, V> target) {
|
|
|
int prev = target.size();
|
|
int prev = target.size();
|
|
|
- target.put($key(A1), $object(A1));
|
|
|
|
|
|
|
+ TItem<K,V> item1 = $map.item(1001,0);
|
|
|
|
|
+ TItem<K,V> item2 = $map.item(1001,1);
|
|
|
|
|
+ target.put(item1.key(), item1.value());
|
|
|
assertEquals(prev + 1, target.size());
|
|
assertEquals(prev + 1, target.size());
|
|
|
|
|
|
|
|
- target.put($key(A1_EQ), $object(A1_EQ)); // identical hash & eq
|
|
|
|
|
|
|
+ target.put(item1.key(), item1.value());
|
|
|
assertEquals(prev + 1, target.size());
|
|
assertEquals(prev + 1, target.size());
|
|
|
|
|
|
|
|
- target.put($key(A1_NE), $object(A1_NE)); // identical hash but not eq
|
|
|
|
|
|
|
+ target.put(item2.key(), item2.value()); // identical hash but not eq
|
|
|
assertEquals(prev + 2, target.size());
|
|
assertEquals(prev + 2, target.size());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicPutReplace(Map<TPoint, Integer> target) {
|
|
|
|
|
|
|
+ public void basicPutReplace(Map<K, V> target) {
|
|
|
int prev = target.size();
|
|
int prev = target.size();
|
|
|
- for (TPoint point : $ukeys(BASIC_PUT_REPLACE)) {
|
|
|
|
|
- target.put(point, $object(B1));
|
|
|
|
|
|
|
+ for (TItem<K,V> item : $map.urange(0, BASIC_PUT_REPLACE)) {
|
|
|
|
|
+ target.put(item.key(), item.value());
|
|
|
}
|
|
}
|
|
|
assertEquals(prev + (2 * BASIC_PUT_REPLACE), target.size());
|
|
assertEquals(prev + (2 * BASIC_PUT_REPLACE), target.size());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicPutRandom(Map<TPoint, Integer> target) {
|
|
|
|
|
|
|
+ public void basicPutRandom(Map<K, V> target) {
|
|
|
int prev = target.size();
|
|
int prev = target.size();
|
|
|
- for (TPoint point : $shuffle($ukeys(BASIC_PUT_RANDOM))) {
|
|
|
|
|
- target.put(point, $object(B1));
|
|
|
|
|
|
|
+ for (TItem<K,V> item : $map.urange(0, BASIC_PUT_RANDOM)) {
|
|
|
|
|
+ target.put(item.key(), item.value());
|
|
|
}
|
|
}
|
|
|
assertEquals(prev + (2 * BASIC_PUT_RANDOM), target.size());
|
|
assertEquals(prev + (2 * BASIC_PUT_RANDOM), target.size());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicRemove(Map<TPoint, Integer> target) {
|
|
|
|
|
- $put(target, A1, B1, C1);
|
|
|
|
|
|
|
+ public void basicRemove(Map<K, V> target) {
|
|
|
|
|
+ $map.list(1,2,3).into(target);
|
|
|
|
|
|
|
|
- assertNotRemove(target, A1_NE);
|
|
|
|
|
|
|
+ assertNotRemove(target, $map.item(1,1));
|
|
|
|
|
|
|
|
- assertRemove(target, A1_EQ, A1);
|
|
|
|
|
- assertRemove(target, B1, B1);
|
|
|
|
|
- assertRemove(target, C1, C1);
|
|
|
|
|
|
|
+ assertRemove(target, $map.item(1));
|
|
|
|
|
+ assertRemove(target, $map.item(2));
|
|
|
|
|
+ assertRemove(target, $map.item(3));
|
|
|
|
|
|
|
|
assertEquals(0, target.size());
|
|
assertEquals(0, target.size());
|
|
|
|
|
|
|
|
- assertNotRemove(target, C1);
|
|
|
|
|
|
|
+ assertNotRemove(target, $map.item(3));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicRemoveAll(Map<TPoint, Integer> target) {
|
|
|
|
|
|
|
+ public void basicRemoveAll(Map<K, V> target) {
|
|
|
assertEquals(0, target.size());
|
|
assertEquals(0, target.size());
|
|
|
- TPoint[] keys = $keys(BASIC_REMOVE_ALL);
|
|
|
|
|
- Integer[] values = $objects(BASIC_REMOVE_ALL);
|
|
|
|
|
|
|
+ TItems<K,V> items = $map.range(0, BASIC_REMOVE_ALL);
|
|
|
|
|
|
|
|
- for(int i=0; i<BASIC_REMOVE_ALL; i++) {
|
|
|
|
|
- target.put(keys[i], values[i]);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ items.into(target);
|
|
|
assertEquals(BASIC_REMOVE_ALL, target.size());
|
|
assertEquals(BASIC_REMOVE_ALL, target.size());
|
|
|
|
|
|
|
|
for(int i=0; i<BASIC_REMOVE_ALL; i++) {
|
|
for(int i=0; i<BASIC_REMOVE_ALL; i++) {
|
|
|
- assertEquals(values[i], target.remove(keys[i]));
|
|
|
|
|
|
|
+ assertEquals(items.at(i).valueInt(), target.remove(items.at(i).key()));
|
|
|
assertEquals(BASIC_REMOVE_ALL-i-1, target.size());
|
|
assertEquals(BASIC_REMOVE_ALL-i-1, target.size());
|
|
|
}
|
|
}
|
|
|
assertEquals(0, target.size());
|
|
assertEquals(0, target.size());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicRemoveRandom(Map<TPoint, Integer> target) {
|
|
|
|
|
|
|
+ public void basicRemoveRandom(Map<K, V> target) {
|
|
|
assertEquals(0, target.size());
|
|
assertEquals(0, target.size());
|
|
|
- TPoint[] keys = $keys(BASIC_REMOVE_RANDOM);
|
|
|
|
|
- Integer[] objects = $objects(BASIC_REMOVE_RANDOM);
|
|
|
|
|
|
|
+ TItems<K,V> items = $map.range(0, BASIC_REMOVE_RANDOM);
|
|
|
|
|
|
|
|
- for(int i=0; i<BASIC_REMOVE_RANDOM; i++) {
|
|
|
|
|
- target.put(keys[i], objects[i]);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ items.into(target);
|
|
|
assertEquals(BASIC_REMOVE_RANDOM, target.size());
|
|
assertEquals(BASIC_REMOVE_RANDOM, target.size());
|
|
|
|
|
|
|
|
- $shuffle(keys, objects);
|
|
|
|
|
|
|
+ items.shuffle(777);
|
|
|
for(int i=0; i<BASIC_REMOVE_RANDOM; i++) {
|
|
for(int i=0; i<BASIC_REMOVE_RANDOM; i++) {
|
|
|
- assertEquals(objects[i], target.remove(keys[i]));
|
|
|
|
|
|
|
+ assertEquals(items.at(i).valueInt(), target.remove(items.at(i).key()));
|
|
|
assertEquals(BASIC_REMOVE_RANDOM-i-1, target.size());
|
|
assertEquals(BASIC_REMOVE_RANDOM-i-1, target.size());
|
|
|
}
|
|
}
|
|
|
assertEquals(0, target.size());
|
|
assertEquals(0, target.size());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicGet(Map<TPoint, Integer> target) {
|
|
|
|
|
- assertEquals(null, target.get($key(A1)));
|
|
|
|
|
-
|
|
|
|
|
- $put(target, A1, B1, C1);
|
|
|
|
|
-
|
|
|
|
|
- assertEquals(null, target.get($key(A1_NE)));
|
|
|
|
|
|
|
+ public void basicGet(Map<K, V> target) {
|
|
|
|
|
+ assertEquals(null, target.get($map.item(1).key()));
|
|
|
|
|
+
|
|
|
|
|
+ $map.list(1,2,3).into(target);
|
|
|
|
|
+ assertEquals(3, target.size());
|
|
|
|
|
+ assertEquals(null, target.get($map.item(1,1).key()));
|
|
|
|
|
|
|
|
- assertEquals($object(A1), target.get($key(A1)));
|
|
|
|
|
- assertEquals($object(A1), target.get($key(A1_EQ)));
|
|
|
|
|
- assertEquals($object(B1), target.get($key(B1)));
|
|
|
|
|
- assertEquals($object(C1), target.get($key(C1)));
|
|
|
|
|
|
|
+ assertEquals($map.item(1).valueInt(), target.get($map.item(1).key()));
|
|
|
|
|
+ assertEquals($map.item(2).valueInt(), target.get($map.item(2).key()));
|
|
|
|
|
+ assertEquals($map.item(3).valueInt(), target.get($map.item(3).key()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void logicRemove(Map<TPoint, Integer> target) {
|
|
|
|
|
- $put(target, A1, B1, C1);
|
|
|
|
|
|
|
+ public void logicRemove(Map<K, V> target) {
|
|
|
|
|
+ $map.list(1,2,3).into(target);
|
|
|
|
|
|
|
|
- assertEquals(null, target.remove($key(A1_NE)));
|
|
|
|
|
|
|
+ assertEquals(null, target.remove($map.item(1,1).key()));
|
|
|
assertEquals(3, target.size());
|
|
assertEquals(3, target.size());
|
|
|
-
|
|
|
|
|
- assertContains(target, A1_EQ, A1);
|
|
|
|
|
- assertContains(target, A1, A1);
|
|
|
|
|
- assertRemove(target, A1_EQ, A1);
|
|
|
|
|
- assertNotContains(target, A1_EQ);
|
|
|
|
|
- assertNotContains(target, A1);
|
|
|
|
|
-
|
|
|
|
|
- assertContains(target, B1, B1);
|
|
|
|
|
- assertRemove(target, B1, B1);
|
|
|
|
|
- assertNotContains(target, B1);
|
|
|
|
|
-
|
|
|
|
|
- assertContains(target, C1, C1);
|
|
|
|
|
- assertRemove(target, C1, C1);
|
|
|
|
|
- assertNotContains(target, C1);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ assertContains(target, $map.item(1));
|
|
|
|
|
+ assertRemove(target, $map.item(1));
|
|
|
|
|
+ assertNotContains(target, $map.item(1));
|
|
|
|
|
+
|
|
|
|
|
+ assertContains(target, $map.item(2));
|
|
|
|
|
+ assertRemove(target, $map.item(2));
|
|
|
|
|
+ assertNotContains(target, $map.item(2));
|
|
|
|
|
+
|
|
|
|
|
+ assertContains(target, $map.item(3));
|
|
|
|
|
+ assertRemove(target, $map.item(3));
|
|
|
|
|
+ assertNotContains(target, $map.item(3));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicContains(Map<TPoint, Integer> target) {
|
|
|
|
|
|
|
+ public void basicContains(Map<K, V> target) {
|
|
|
assertEquals(0, target.size());
|
|
assertEquals(0, target.size());
|
|
|
- $put(target, A1, B1);
|
|
|
|
|
|
|
+ $map.list(1,2).into(target);
|
|
|
|
|
|
|
|
- assertEquals(true, target.containsValue($object(A1)));
|
|
|
|
|
- assertEquals(true, target.containsValue($object(B1)));
|
|
|
|
|
|
|
+ assertEquals(true, target.containsValue($map.item(1).value()));
|
|
|
|
|
+ assertEquals(true, target.containsValue($map.item(2).value()));
|
|
|
|
|
|
|
|
- assertEquals(false, target.containsValue($object(A1_EQ)));
|
|
|
|
|
- assertEquals(false, target.containsValue($object(A1_NE)));
|
|
|
|
|
- assertEquals(false, target.containsValue($object(C1)));
|
|
|
|
|
|
|
+ assertEquals(false, target.containsValue($map.item(1,1).value()));
|
|
|
|
|
+ assertEquals(false, target.containsValue($map.item(3).value()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicClear(Map<TPoint, Integer> target) {
|
|
|
|
|
|
|
+ public void basicClear(Map<K, V> target) {
|
|
|
assertEquals(0, target.size());
|
|
assertEquals(0, target.size());
|
|
|
|
|
|
|
|
- $put(target, A1, A1_NE, B1);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).into(target);
|
|
|
assertSize(3, target);
|
|
assertSize(3, target);
|
|
|
assertEquals(false, target.isEmpty());
|
|
assertEquals(false, target.isEmpty());
|
|
|
|
|
|
|
@@ -200,52 +198,52 @@ public final class MapTester {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicEntrySet_Contains(Map<TPoint, Integer> target) {
|
|
|
|
|
- Set<Entry<TPoint, Integer>> set = target.entrySet();
|
|
|
|
|
|
|
+ public void basicEntrySet_Contains(Map<K, V> target) {
|
|
|
|
|
+ Set<Entry<K, V>> set = target.entrySet();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
|
|
|
|
|
- $put(target, A1, A1_NE, B1, C1);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
assertEquals(4, set.size());
|
|
assertEquals(4, set.size());
|
|
|
- assertEquals(true, set.contains($entry(A1)));
|
|
|
|
|
- assertEquals(true, set.contains($entry(A1_NE)));
|
|
|
|
|
- assertEquals(true, set.contains($entry(B1)));
|
|
|
|
|
- assertEquals(true, set.contains($entry(C1)));
|
|
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(1).entry()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(1,1).entry()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(2).entry()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(3).entry()));
|
|
|
|
|
|
|
|
- assertEquals(false, set.contains($entry(D1)));
|
|
|
|
|
|
|
+ assertEquals(false, set.contains($map.item(4).entry()));
|
|
|
assertEquals(false, set.contains(new Object()));
|
|
assertEquals(false, set.contains(new Object()));
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicEntrySet_Remove(Map<TPoint, Integer> target) {
|
|
|
|
|
- Set<Entry<TPoint, Integer>> set = target.entrySet();
|
|
|
|
|
|
|
+ public void basicEntrySet_Remove(Map<K, V> target) {
|
|
|
|
|
+ Set<Entry<K, V>> set = target.entrySet();
|
|
|
|
|
|
|
|
- basicEntrySet_Contains(target);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
|
|
|
|
|
- assertEquals(false, set.remove($entry(A1_EQ)));
|
|
|
|
|
- assertEquals(true, set.remove($entry($key(A1_EQ), $value(A1))));
|
|
|
|
|
- assertEquals(false, set.remove($entry(D1)));
|
|
|
|
|
|
|
+ assertEquals(false, set.remove($map.item(1).entry(5)));
|
|
|
|
|
+ assertEquals(true, set.remove($map.item(1).entry()));
|
|
|
|
|
+ assertEquals(false, set.remove($map.item(4).entry()));
|
|
|
assertEquals(false, set.remove(new Object()));
|
|
assertEquals(false, set.remove(new Object()));
|
|
|
|
|
|
|
|
- assertEquals(false, set.contains($entry(A1)));
|
|
|
|
|
- assertEquals(true, set.contains($entry(A1_NE)));
|
|
|
|
|
- assertEquals(true, set.contains($entry(B1)));
|
|
|
|
|
- assertEquals(true, set.contains($entry(C1)));
|
|
|
|
|
|
|
+ assertEquals(false, set.contains($map.item(1).entry()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(1,1).entry()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(2).entry()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(3).entry()));
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicEntrySet_Iterator(Map<TPoint, Integer> target) {
|
|
|
|
|
- Set<Entry<TPoint, Integer>> set = target.entrySet();
|
|
|
|
|
|
|
+ public void basicEntrySet_Iterator(Map<K, V> target) {
|
|
|
|
|
+ Set<Entry<K, V>> set = target.entrySet();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
- $put(target, A1, A1_NE, B1, C1);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
assertEquals(4, set.size());
|
|
assertEquals(4, set.size());
|
|
|
|
|
|
|
|
- Iterator<Entry<TPoint, Integer>> iterator = set.iterator();
|
|
|
|
|
|
|
+ Iterator<Entry<K, V>> iterator = set.iterator();
|
|
|
while(iterator.hasNext()) {
|
|
while(iterator.hasNext()) {
|
|
|
- Entry<TPoint, Integer> entry = iterator.next();
|
|
|
|
|
|
|
+ Entry<K, V> entry = iterator.next();
|
|
|
assertEquals(target.get(entry.getKey()), entry.getValue());
|
|
assertEquals(target.get(entry.getKey()), entry.getValue());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -253,57 +251,61 @@ public final class MapTester {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicEntrySet_Iterator_SetValue(Map<TPoint, Integer> target) {
|
|
|
|
|
- Set<Entry<TPoint, Integer>> set = target.entrySet();
|
|
|
|
|
|
|
+ public void basicEntrySet_Iterator_SetValue(Map<K, V> target) {
|
|
|
|
|
+ Set<Entry<K, V>> set = target.entrySet();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
- $put(target, A1, A1_NE, B1, C1);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
|
|
+ K k1 = $map.item(1).key();
|
|
|
|
|
+ K k2 = $map.item(2).key();
|
|
|
|
|
+ V v1 = $map.item(101).value();
|
|
|
|
|
+ V v2 = $map.item(102).value();
|
|
|
|
|
|
|
|
- Iterator<Entry<TPoint, Integer>> iterator = set.iterator();
|
|
|
|
|
|
|
+ Iterator<Entry<K, V>> iterator = set.iterator();
|
|
|
while(iterator.hasNext()) {
|
|
while(iterator.hasNext()) {
|
|
|
- Entry<TPoint, Integer> entry = iterator.next();
|
|
|
|
|
- TPoint key = entry.getKey();
|
|
|
|
|
-
|
|
|
|
|
- if($equals(key, A1_EQ)) {
|
|
|
|
|
- entry.setValue($object(D1));
|
|
|
|
|
|
|
+ Entry<K, V> entry = iterator.next();
|
|
|
|
|
+ if(k1.equals(entry.getKey())) {
|
|
|
|
|
+ entry.setValue(v1);
|
|
|
}
|
|
}
|
|
|
- if($equals(key, B1)) {
|
|
|
|
|
- entry.setValue($object(D2));
|
|
|
|
|
|
|
+ if(k2.equals(entry.getKey())) {
|
|
|
|
|
+ entry.setValue(v2);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- assertContains(target, A1, D1);
|
|
|
|
|
- assertContains(target, B1, D2);
|
|
|
|
|
- assertContains(target, A1_NE, A1_NE);
|
|
|
|
|
- assertContains(target, C1, C1);
|
|
|
|
|
|
|
+ assertContains(target, $map.item(1).key(), v1);
|
|
|
|
|
+ assertContains(target, $map.item(2).key(), v2);
|
|
|
|
|
+ assertContains(target, $map.item(1,1));
|
|
|
|
|
+ assertContains(target, $map.item(3));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicEntrySet_Iterator_Remove(Map<TPoint, Integer> target) {
|
|
|
|
|
- Set<Entry<TPoint, Integer>> set = target.entrySet();
|
|
|
|
|
|
|
+ public void basicEntrySet_Iterator_Remove(Map<K, V> target) {
|
|
|
|
|
+ Set<Entry<K, V>> set = target.entrySet();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
- $put(target, A1, A1_NE, B1, C1);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
|
|
+ K k1 = $map.item(1).key();
|
|
|
|
|
+ K k2 = $map.item(2).key();
|
|
|
|
|
|
|
|
- Iterator<Entry<TPoint, Integer>> iterator = set.iterator();
|
|
|
|
|
|
|
+ Iterator<Entry<K, V>> iterator = set.iterator();
|
|
|
while(iterator.hasNext()) {
|
|
while(iterator.hasNext()) {
|
|
|
- Entry<TPoint, Integer> entry = iterator.next();
|
|
|
|
|
- TPoint key = entry.getKey();
|
|
|
|
|
-
|
|
|
|
|
- if($equals(key, A1_EQ)) {
|
|
|
|
|
|
|
+ Entry<K, V> entry = iterator.next();
|
|
|
|
|
+ K key = entry.getKey();
|
|
|
|
|
+
|
|
|
|
|
+ if(k1.equals(key)) {
|
|
|
iterator.remove();
|
|
iterator.remove();
|
|
|
}
|
|
}
|
|
|
- if($equals(key, B1)) {
|
|
|
|
|
|
|
+ if(k2.equals(key)) {
|
|
|
iterator.remove();
|
|
iterator.remove();
|
|
|
QAssert.assertThrows(IllegalStateException.class, ()-> iterator.remove());
|
|
QAssert.assertThrows(IllegalStateException.class, ()-> iterator.remove());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
assertEquals(2, target.size());
|
|
assertEquals(2, target.size());
|
|
|
- assertNotContains(target, A1);
|
|
|
|
|
- assertNotContains(target, B1);
|
|
|
|
|
- assertContains(target, A1_NE, A1_NE);
|
|
|
|
|
- assertContains(target, C1, C1);
|
|
|
|
|
|
|
+ assertNotContains(target, $map.item(1));
|
|
|
|
|
+ assertNotContains(target, $map.item(2));
|
|
|
|
|
+ assertContains(target, $map.item(1,1));
|
|
|
|
|
+ assertContains(target, $map.item(3));
|
|
|
|
|
|
|
|
set.clear();
|
|
set.clear();
|
|
|
assertEquals(0, target.size());
|
|
assertEquals(0, target.size());
|
|
@@ -311,13 +313,13 @@ public final class MapTester {
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicEntrySet_Iterator_RemoveAll(Map<TPoint, Integer> target) {
|
|
|
|
|
- Set<Entry<TPoint, Integer>> set = target.entrySet();
|
|
|
|
|
|
|
+ public void basicEntrySet_Iterator_RemoveAll(Map<K, V> target) {
|
|
|
|
|
+ Set<Entry<K, V>> set = target.entrySet();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
- $put(target, $ukeys(1024));
|
|
|
|
|
|
|
+ $map.urange(1024).into(target);
|
|
|
|
|
|
|
|
- Iterator<Entry<TPoint, Integer>> iterator = set.iterator();
|
|
|
|
|
|
|
+ Iterator<Entry<K, V>> iterator = set.iterator();
|
|
|
while(iterator.hasNext()) {
|
|
while(iterator.hasNext()) {
|
|
|
iterator.next();
|
|
iterator.next();
|
|
|
iterator.remove();
|
|
iterator.remove();
|
|
@@ -326,87 +328,101 @@ public final class MapTester {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicEquals(Supplier<Map<TPoint, Integer>> generator) {
|
|
|
|
|
- Map<TPoint, Integer> map1 = generator.get();
|
|
|
|
|
- Map<TPoint, Integer> map2 = generator.get();
|
|
|
|
|
- Map<TPoint, Integer> map3 = generator.get();
|
|
|
|
|
- Map<TPoint, Integer> map4 = generator.get();
|
|
|
|
|
- Map<TPoint, Integer> map5 = generator.get();
|
|
|
|
|
- Map<TPoint, Integer> map6 = generator.get();
|
|
|
|
|
-
|
|
|
|
|
- $put(map1, E1, B1, C1);
|
|
|
|
|
- $put(map2, E1, B1, C1);
|
|
|
|
|
- $put(map3, E1_NE, B1, C1);
|
|
|
|
|
- $put(map4, B1, C1);
|
|
|
|
|
- $put(map5, B1, C1, D1);
|
|
|
|
|
- $put(map6, E1_NE, C1, D1);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ public void basicEquals(Supplier<Map<K, V>> generator) {
|
|
|
|
|
+ Map<K, V> map1 = generator.get();
|
|
|
|
|
+ Map<K, V> map2 = generator.get();
|
|
|
|
|
+ Map<K, V> map3 = generator.get();
|
|
|
|
|
+ Map<K, V> map4 = generator.get();
|
|
|
|
|
+ Map<K, V> map5 = generator.get();
|
|
|
|
|
+
|
|
|
|
|
+ $map.list().item(5,0).item(2).item(3).into(map1);
|
|
|
|
|
+ $map.list().item(5,0).item(2).item(3).into(map2);
|
|
|
|
|
+ $map.list().item(5,1).item(2).item(3).into(map3);
|
|
|
|
|
+ $map.list() .item(2).item(3).into(map4);
|
|
|
|
|
+ $map.list().item(5,1) .item(3).item(4).into(map5);
|
|
|
|
|
+
|
|
|
|
|
+ // entry(5,1) should have identical value as entry(5,0) because we want identical hashcode
|
|
|
|
|
+ map3.put($map.item(5,1).key(), $map.item(5,0).value());
|
|
|
|
|
+
|
|
|
QAssert.assertEquality(map1, map2, map3, map4);
|
|
QAssert.assertEquality(map1, map2, map3, map4);
|
|
|
- QAssert.assertEquality(map1, map2, map3, map6);
|
|
|
|
|
|
|
+ QAssert.assertEquality(map1, map2, map3, map5);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicEquals_Entry(Map<TPoint, Integer> target) {
|
|
|
|
|
- $put(target, E1, E1_EQ, E1_NE, B1);
|
|
|
|
|
|
|
+ public void basicEquals_Entry(Map<K, V> target) {
|
|
|
|
|
+ $map.list().item(5).item(5).item(5,1).item(2).into(target);
|
|
|
|
|
+
|
|
|
|
|
+ // entry(5,1) should have identical value as entry(5,0) because we want identical hashcode
|
|
|
|
|
+ target.put($map.item(5,1).key(), $map.item(5,0).value());
|
|
|
|
|
|
|
|
QAssert.assertEquality(
|
|
QAssert.assertEquality(
|
|
|
- $find(target, E1),
|
|
|
|
|
- $find(target, E1_EQ),
|
|
|
|
|
- $find(target, E1_NE),
|
|
|
|
|
- $find(target, B1)
|
|
|
|
|
|
|
+ findEntry(target, $map.item(5).key()),
|
|
|
|
|
+ findEntry(target, $map.item(5).key()),
|
|
|
|
|
+ findEntry(target, $map.item(5,1).key()),
|
|
|
|
|
+ findEntry(target, $map.item(2).key())
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private Entry<K,V> findEntry(Map<K, V> target, K key) {
|
|
|
|
|
+ for(Entry<K,V> e : target.entrySet()) {
|
|
|
|
|
+ if(key.equals(e.getKey())) {
|
|
|
|
|
+ return e;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ fail("Entry not found: " + key);
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicSerializable(Map<TPoint, Integer> target) {
|
|
|
|
|
- $put(target, A1, A1_EQ, A1_NE, B1, C1);
|
|
|
|
|
|
|
+ public void basicSerializable(Map<K, V> target) {
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
QAssert.assertSerializable(target);
|
|
QAssert.assertSerializable(target);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicKeySet_Contains(Map<TPoint, Integer> target) {
|
|
|
|
|
- Set<TPoint> set = target.keySet();
|
|
|
|
|
|
|
+ public void basicKeySet_Contains(Map<K, V> target) {
|
|
|
|
|
+ Set<K> set = target.keySet();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
|
|
|
|
|
- $put(target, A1, A1_NE, B1, C1);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
assertEquals(4, set.size());
|
|
assertEquals(4, set.size());
|
|
|
- assertEquals(true, set.contains($key(A1)));
|
|
|
|
|
- assertEquals(true, set.contains($key(A1_NE)));
|
|
|
|
|
- assertEquals(true, set.contains($key(B1)));
|
|
|
|
|
- assertEquals(true, set.contains($key(C1)));
|
|
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(1).key()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(1,1).key()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(2).key()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(3).key()));
|
|
|
|
|
|
|
|
- assertEquals(false, set.contains($key(D1)));
|
|
|
|
|
|
|
+ assertEquals(false, set.contains($map.item(5).key()));
|
|
|
assertEquals(false, set.contains(new Object()));
|
|
assertEquals(false, set.contains(new Object()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicKeySet_Remove(Map<TPoint, Integer> target) {
|
|
|
|
|
- Set<TPoint> set = target.keySet();
|
|
|
|
|
|
|
+ public void basicKeySet_Remove(Map<K, V> target) {
|
|
|
|
|
+ Set<K> set = target.keySet();
|
|
|
|
|
|
|
|
basicEntrySet_Contains(target);
|
|
basicEntrySet_Contains(target);
|
|
|
|
|
|
|
|
- assertEquals(true, set.remove($key(A1_EQ)));
|
|
|
|
|
- assertEquals(false, set.remove($key(D1)));
|
|
|
|
|
|
|
+ assertEquals(true, set.remove($map.item(1).key()));
|
|
|
|
|
+ assertEquals(false, set.remove($map.item(4).key()));
|
|
|
assertEquals(false, set.remove(new Object()));
|
|
assertEquals(false, set.remove(new Object()));
|
|
|
|
|
|
|
|
- assertEquals(false, set.contains($key(A1)));
|
|
|
|
|
- assertEquals(true, set.contains($key(A1_NE)));
|
|
|
|
|
- assertEquals(true, set.contains($key(B1)));
|
|
|
|
|
- assertEquals(true, set.contains($key(C1)));
|
|
|
|
|
|
|
+ assertEquals(false, set.contains($map.item(1).key()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(1,1).key()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(2).key()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(3).key()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicKeySet_Iterator(Map<TPoint, Integer> target) {
|
|
|
|
|
- Set<TPoint> set = target.keySet();
|
|
|
|
|
|
|
+ public void basicKeySet_Iterator(Map<K, V> target) {
|
|
|
|
|
+ Set<K> set = target.keySet();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
- $put(target, A1, A1_NE, B1, C1);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
assertEquals(4, set.size());
|
|
assertEquals(4, set.size());
|
|
|
|
|
|
|
|
- Iterator<TPoint> iterator = set.iterator();
|
|
|
|
|
|
|
+ Iterator<K> iterator = set.iterator();
|
|
|
while(iterator.hasNext()) {
|
|
while(iterator.hasNext()) {
|
|
|
- TPoint key = iterator.next();
|
|
|
|
|
|
|
+ K key = iterator.next();
|
|
|
assertEquals(true, target.containsKey(key));
|
|
assertEquals(true, target.containsKey(key));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -415,79 +431,80 @@ public final class MapTester {
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicKeySet_Iterator_Remove(Map<TPoint, Integer> target) {
|
|
|
|
|
- Set<TPoint> set = target.keySet();
|
|
|
|
|
|
|
+ public void basicKeySet_Iterator_Remove(Map<K, V> target) {
|
|
|
|
|
+ Set<K> set = target.keySet();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
- $put(target, A1, A1_NE, B1, C1);
|
|
|
|
|
-
|
|
|
|
|
- Iterator<TPoint> iterator = set.iterator();
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
|
|
+ K k1 = $map.item(1).key();
|
|
|
|
|
+ K k2 = $map.item(2).key();
|
|
|
|
|
+
|
|
|
|
|
+ Iterator<K> iterator = set.iterator();
|
|
|
while(iterator.hasNext()) {
|
|
while(iterator.hasNext()) {
|
|
|
- TPoint key = iterator.next();
|
|
|
|
|
-
|
|
|
|
|
- if($equals(key, A1_EQ)) {
|
|
|
|
|
|
|
+ K key = iterator.next();
|
|
|
|
|
+ if(k1.equals(key)) {
|
|
|
iterator.remove();
|
|
iterator.remove();
|
|
|
}
|
|
}
|
|
|
- if($equals(key, B1)) {
|
|
|
|
|
|
|
+ if(k2.equals(key)) {
|
|
|
iterator.remove();
|
|
iterator.remove();
|
|
|
QAssert.assertThrows(IllegalStateException.class, ()-> iterator.remove());
|
|
QAssert.assertThrows(IllegalStateException.class, ()-> iterator.remove());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
assertEquals(2, target.size());
|
|
assertEquals(2, target.size());
|
|
|
- assertNotContains(target, A1);
|
|
|
|
|
- assertNotContains(target, B1);
|
|
|
|
|
- assertContains(target, A1_NE, A1_NE);
|
|
|
|
|
- assertContains(target, C1, C1);
|
|
|
|
|
|
|
+ assertNotContains(target, $map.item(1));
|
|
|
|
|
+ assertNotContains(target, $map.item(2));
|
|
|
|
|
+ assertContains(target, $map.item(1,1));
|
|
|
|
|
+ assertContains(target, $map.item(3));
|
|
|
|
|
|
|
|
set.clear();
|
|
set.clear();
|
|
|
assertEquals(0, target.size());
|
|
assertEquals(0, target.size());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicValues_Contains(Map<TPoint, Integer> target) {
|
|
|
|
|
- Collection<Integer> set = target.values();
|
|
|
|
|
|
|
+ public void basicValues_Contains(Map<K, V> target) {
|
|
|
|
|
+ Collection<V> set = target.values();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
|
|
|
|
|
- $put(target, A1, A1_NE, B1, C1);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
assertEquals(4, set.size());
|
|
assertEquals(4, set.size());
|
|
|
- assertEquals(true, set.contains($object(A1)));
|
|
|
|
|
- assertEquals(true, set.contains($object(A1_NE)));
|
|
|
|
|
- assertEquals(true, set.contains($object(B1)));
|
|
|
|
|
- assertEquals(true, set.contains($object(C1)));
|
|
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(1).value()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(1,1).value()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(2).value()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(3).value()));
|
|
|
|
|
|
|
|
- assertEquals(false, set.contains($object(D1)));
|
|
|
|
|
|
|
+ assertEquals(false, set.contains($map.item(4).value()));
|
|
|
assertEquals(false, set.contains(new Object()));
|
|
assertEquals(false, set.contains(new Object()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicValues_Remove(Map<TPoint, Integer> target) {
|
|
|
|
|
- Collection<Integer> set = target.values();
|
|
|
|
|
|
|
+ public void basicValues_Remove(Map<K, V> target) {
|
|
|
|
|
+ Collection<V> set = target.values();
|
|
|
|
|
|
|
|
basicValues_Contains(target);
|
|
basicValues_Contains(target);
|
|
|
|
|
|
|
|
- assertEquals(true, set.remove($object(A1)));
|
|
|
|
|
- assertEquals(false, set.remove($object(D1)));
|
|
|
|
|
|
|
+ assertEquals(true, set.remove($map.item(1).value()));
|
|
|
|
|
+ assertEquals(false, set.remove($map.item(4).value()));
|
|
|
assertEquals(false, set.remove(new Object()));
|
|
assertEquals(false, set.remove(new Object()));
|
|
|
|
|
|
|
|
- assertEquals(false, set.contains($object(A1)));
|
|
|
|
|
- assertEquals(true, set.contains($object(A1_NE)));
|
|
|
|
|
- assertEquals(true, set.contains($object(B1)));
|
|
|
|
|
- assertEquals(true, set.contains($object(C1)));
|
|
|
|
|
|
|
+ assertEquals(false, set.contains($map.item(1).value()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(1,1).value()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(2).value()));
|
|
|
|
|
+ assertEquals(true, set.contains($map.item(3).value()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicValues_Iterator(Map<TPoint, Integer> target) {
|
|
|
|
|
- Collection<Integer> set = target.values();
|
|
|
|
|
|
|
+ public void basicValues_Iterator(Map<K, V> target) {
|
|
|
|
|
+ Collection<V> set = target.values();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
- $put(target, A1, A1_NE, B1, C1);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
assertEquals(4, set.size());
|
|
assertEquals(4, set.size());
|
|
|
|
|
|
|
|
- Iterator<Integer> iterator = set.iterator();
|
|
|
|
|
|
|
+ Iterator<V> iterator = set.iterator();
|
|
|
while(iterator.hasNext()) {
|
|
while(iterator.hasNext()) {
|
|
|
- Integer var = iterator.next();
|
|
|
|
|
|
|
+ V var = iterator.next();
|
|
|
assertEquals(true, target.containsValue(var));
|
|
assertEquals(true, target.containsValue(var));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -496,58 +513,62 @@ public final class MapTester {
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@SuppressWarnings("unchecked")
|
|
|
@Test
|
|
@Test
|
|
|
- public void basicValues_Iterator_Remove(Map<TPoint, Integer> target) {
|
|
|
|
|
- Collection<Integer> set = target.values();
|
|
|
|
|
|
|
+ public void basicValues_Iterator_Remove(Map<K, V> target) {
|
|
|
|
|
+ Collection<V> set = target.values();
|
|
|
|
|
|
|
|
assertEquals(0, set.size());
|
|
assertEquals(0, set.size());
|
|
|
- $put(target, A1, A1_NE, B1, C1);
|
|
|
|
|
|
|
+ $map.list().item(1).item(1,1).item(2).item(3).into(target);
|
|
|
|
|
|
|
|
- Iterator<Integer> iterator = set.iterator();
|
|
|
|
|
|
|
+ Iterator<V> iterator = set.iterator();
|
|
|
while(iterator.hasNext()) {
|
|
while(iterator.hasNext()) {
|
|
|
- Integer var = iterator.next();
|
|
|
|
|
|
|
+ V var = iterator.next();
|
|
|
|
|
|
|
|
- if(var.equals($object(A1))) {
|
|
|
|
|
|
|
+ if(var.equals($map.item(1).value())) {
|
|
|
iterator.remove();
|
|
iterator.remove();
|
|
|
}
|
|
}
|
|
|
- if(var.equals($object(B1))) {
|
|
|
|
|
|
|
+ if(var.equals($map.item(2).value())) {
|
|
|
iterator.remove();
|
|
iterator.remove();
|
|
|
QAssert.assertThrows(IllegalStateException.class, ()-> iterator.remove());
|
|
QAssert.assertThrows(IllegalStateException.class, ()-> iterator.remove());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
assertEquals(2, target.size());
|
|
assertEquals(2, target.size());
|
|
|
- assertNotContains(target, A1);
|
|
|
|
|
- assertNotContains(target, B1);
|
|
|
|
|
- assertContains(target, A1_NE, A1_NE);
|
|
|
|
|
- assertContains(target, C1, C1);
|
|
|
|
|
|
|
+ assertNotContains(target, $map.item(1));
|
|
|
|
|
+ assertNotContains(target, $map.item(2));
|
|
|
|
|
+ assertContains(target, $map.item(1,1));
|
|
|
|
|
+ assertContains(target, $map.item(3));
|
|
|
|
|
|
|
|
set.clear();
|
|
set.clear();
|
|
|
assertEquals(0, target.size());
|
|
assertEquals(0, target.size());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private static void assertRemove(Map<TPoint, Integer> target, ValueEnum key, ValueEnum prev) {
|
|
|
|
|
|
|
+ private void assertRemove(Map<K,V> target, TItem<K,V> item) {
|
|
|
int size = target.size();
|
|
int size = target.size();
|
|
|
- assertEquals($object(prev), target.remove($key(key)));
|
|
|
|
|
|
|
+ assertEquals(item.valueInt(), target.remove(item.key()));
|
|
|
assertEquals(size-1, target.size());
|
|
assertEquals(size-1, target.size());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private static void assertNotRemove(Map<TPoint, Integer> target, ValueEnum key) {
|
|
|
|
|
|
|
+ private void assertNotRemove(Map<K,V> target, TItem<K,V> item) {
|
|
|
int size = target.size();
|
|
int size = target.size();
|
|
|
- assertEquals(null, target.remove($key(key)));
|
|
|
|
|
|
|
+ assertEquals(null, target.remove(item.key()));
|
|
|
assertEquals(size, target.size());
|
|
assertEquals(size, target.size());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ private void assertContains(Map<K,V> target, K key, V value) {
|
|
|
|
|
+ assertEquals(true, target.containsKey(key));
|
|
|
|
|
+ assertEquals(value, target.get(key));
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- private static void assertContains(Map<TPoint, Integer> target, ValueEnum key, ValueEnum value) {
|
|
|
|
|
- assertEquals(true, target.containsKey($key(key)));
|
|
|
|
|
- assertEquals($object(value), target.get($key(key)));
|
|
|
|
|
|
|
+ private void assertContains(Map<K,V> target, TItem<K,V> item) {
|
|
|
|
|
+ assertContains(target, item.key(), item.value());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private static void assertNotContains(Map<TPoint, Integer> target, ValueEnum key) {
|
|
|
|
|
- assertEquals(false, target.containsKey($key(key)));
|
|
|
|
|
- assertEquals(null, target.get($key(key)));
|
|
|
|
|
|
|
+ private void assertNotContains(Map<K,V> target, TItem<K,V> item) {
|
|
|
|
|
+ assertEquals(false, target.containsKey(item.key()));
|
|
|
|
|
+ assertEquals(null, target.get(item.key()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private static void assertSize(int size, Map<TPoint, Integer> target) {
|
|
|
|
|
|
|
+ private void assertSize(int size, Map<K,V> target) {
|
|
|
assertEquals(size, target.size());
|
|
assertEquals(size, target.size());
|
|
|
assertEquals(size, target.entrySet().size());
|
|
assertEquals(size, target.entrySet().size());
|
|
|
assertEquals(size, target.keySet().size());
|
|
assertEquals(size, target.keySet().size());
|