(ConcurrentMap<Integer, Object> map, int base)
| 115 | } |
| 116 | |
| 117 | private static void populate(ConcurrentMap<Integer, Object> map, int base) { |
| 118 | for (int i = base, j = base + Range; i < j; ++i) { |
| 119 | map.remove(i); |
| 120 | Object value = new Object(); |
| 121 | expect(map.put(i, value) == null); |
| 122 | expect(map.containsKey(i)); |
| 123 | expect(map.get(i).equals(value)); |
| 124 | expect(map.putIfAbsent(i, new Object()) == value); |
| 125 | expect(map.get(i).equals(value)); |
| 126 | expect(! map.remove(i, new Object())); |
| 127 | expect(map.remove(i, value)); |
| 128 | expect(map.replace(i, value) == null); |
| 129 | expect(! map.containsKey(i)); |
| 130 | expect(map.get(i) == null); |
| 131 | expect(map.putIfAbsent(i, value) == null); |
| 132 | expect(map.containsKey(i)); |
| 133 | expect(map.get(i) == value); |
| 134 | Object newValue = new Object(); |
| 135 | expect(map.replace(i, newValue) == value); |
| 136 | expect(map.get(i) == newValue); |
| 137 | |
| 138 | boolean found = false; |
| 139 | for (Iterator<Map.Entry<Integer, Object>> it = map.entrySet().iterator(); |
| 140 | it.hasNext();) |
| 141 | { |
| 142 | Map.Entry<Integer, Object> e = it.next(); |
| 143 | if (e.getKey() == i) { |
| 144 | expect(! found); |
| 145 | expect(e.getValue() == newValue); |
| 146 | found = true; |
| 147 | it.remove(); |
| 148 | } |
| 149 | } |
| 150 | |
| 151 | expect(found); |
| 152 | expect(! map.containsKey(i)); |
| 153 | expect(map.putIfAbsent(i, value) == null); |
| 154 | expect(map.containsKey(i)); |
| 155 | expect(map.get(i) == value); |
| 156 | } |
| 157 | } |
| 158 | |
| 159 | private static void depopulate(ConcurrentMap<Integer, Object> map, int base) |
| 160 | { |
no test coverage detected