23 |
|
|
24 |
|
/* |
25 |
|
* @test |
26 |
< |
* @bug 4904067 5023830 7129185 |
26 |
> |
* @bug 4904067 5023830 7129185 8072015 |
27 |
|
* @summary Unit test for Collections.checkedMap |
28 |
|
* @author Josh Bloch |
29 |
|
* @run testng CheckedMapBash |
53 |
|
Object newHead; |
54 |
|
do { |
55 |
|
newHead = new Integer(rnd.nextInt()); |
56 |
< |
} while (m.containsKey(newHead)); |
56 |
> |
} while (m.containsKey(newHead) || newHead.equals(nil)); |
57 |
|
m.put(newHead, head); |
58 |
|
head = newHead; |
59 |
|
} |
99 |
|
} |
100 |
|
|
101 |
|
@Test(dataProvider = "Supplier<Map<Integer,Integer>>") |
102 |
< |
public static void testCheckeMap2(String description, Supplier<Map<Integer,Integer>> supplier) { |
102 |
> |
public static void testCheckedMap2(String description, Supplier<Map<Integer,Integer>> supplier) { |
103 |
|
Map m = supplier.get(); |
104 |
|
for (int i=0; i<mapSize; i++) |
105 |
|
if (m.put(new Integer(i), new Integer(2*i)) != null) |
106 |
< |
fail("put returns a non-null value erroenously."); |
106 |
> |
fail("put returns a non-null value erroneously."); |
107 |
|
for (int i=0; i<2*mapSize; i++) |
108 |
|
if (m.containsValue(new Integer(i)) != (i%2==0)) |
109 |
|
fail("contains value "+i); |
110 |
|
if (m.put(nil, nil) == null) |
111 |
< |
fail("put returns a null value erroenously."); |
111 |
> |
fail("put returns a null value erroneously."); |
112 |
|
Map m2 = supplier.get(); m2.putAll(m); |
113 |
|
if (!m.equals(m2)) |
114 |
|
fail("Clone not equal to original. (1)"); |
147 |
|
ArrayList<Object[]> iters = new ArrayList<>(makeCheckedMaps()); |
148 |
|
iters.ensureCapacity(numItr * iters.size()); |
149 |
|
for (int each=1; each < numItr; each++) { |
150 |
< |
iters.addAll( makeCheckedMaps()); |
150 |
> |
iters.addAll(makeCheckedMaps()); |
151 |
|
} |
152 |
|
return iters.iterator(); |
153 |
|
} |
158 |
|
} |
159 |
|
|
160 |
|
public static Collection<Object[]> makeCheckedMaps() { |
161 |
< |
return Arrays.asList( |
162 |
< |
new Object[]{"Collections.checkedMap(HashMap)", |
163 |
< |
(Supplier) () -> {return Collections.checkedMap(new HashMap(), Integer.class, Integer.class);}}, |
164 |
< |
new Object[]{"Collections.checkedMap(TreeMap(reverseOrder))", |
165 |
< |
(Supplier) () -> {return Collections.checkedMap(new TreeMap(Collections.reverseOrder()), Integer.class, Integer.class);}}, |
166 |
< |
new Object[]{"Collections.checkedMap(TreeMap.descendingMap())", |
167 |
< |
(Supplier) () -> {return Collections.checkedMap(new TreeMap().descendingMap(), Integer.class, Integer.class);}}, |
168 |
< |
new Object[]{"Collections.checkedNavigableMap(TreeMap)", |
169 |
< |
(Supplier) () -> {return Collections.checkedNavigableMap(new TreeMap(), Integer.class, Integer.class);}}, |
170 |
< |
new Object[]{"Collections.checkedNavigableMap(TreeMap(reverseOrder))", |
171 |
< |
(Supplier) () -> {return Collections.checkedNavigableMap(new TreeMap(Collections.reverseOrder()), Integer.class, Integer.class);}}, |
172 |
< |
new Object[]{"Collections.checkedNavigableMap(TreeMap.descendingMap())", |
173 |
< |
(Supplier) () -> {return Collections.checkedNavigableMap(new TreeMap().descendingMap(), Integer.class, Integer.class);}} |
174 |
< |
); |
161 |
> |
Object[][] params = { |
162 |
> |
{"Collections.checkedMap(HashMap)", |
163 |
> |
(Supplier) () -> Collections.checkedMap(new HashMap(), Integer.class, Integer.class)}, |
164 |
> |
{"Collections.checkedMap(TreeMap(reverseOrder))", |
165 |
> |
(Supplier) () -> Collections.checkedMap(new TreeMap(Collections.reverseOrder()), Integer.class, Integer.class)}, |
166 |
> |
{"Collections.checkedMap(TreeMap.descendingMap())", |
167 |
> |
(Supplier) () -> Collections.checkedMap(new TreeMap().descendingMap(), Integer.class, Integer.class)}, |
168 |
> |
{"Collections.checkedNavigableMap(TreeMap)", |
169 |
> |
(Supplier) () -> Collections.checkedNavigableMap(new TreeMap(), Integer.class, Integer.class)}, |
170 |
> |
{"Collections.checkedNavigableMap(TreeMap(reverseOrder))", |
171 |
> |
(Supplier) () -> Collections.checkedNavigableMap(new TreeMap(Collections.reverseOrder()), Integer.class, Integer.class)}, |
172 |
> |
{"Collections.checkedNavigableMap(TreeMap.descendingMap())", |
173 |
> |
(Supplier) () -> Collections.checkedNavigableMap(new TreeMap().descendingMap(), Integer.class, Integer.class)}, |
174 |
> |
}; |
175 |
> |
return Arrays.asList(params); |
176 |
|
} |
177 |
|
} |