--- jsr166/src/test/tck/ConcurrentHashMap8Test.java 2013/07/22 18:11:56 1.14 +++ jsr166/src/test/tck/ConcurrentHashMap8Test.java 2014/12/31 21:35:01 1.19 @@ -4,12 +4,26 @@ * http://creativecommons.org/publicdomain/zero/1.0/ */ -import junit.framework.*; -import java.util.*; -import java.util.function.*; -import java.util.concurrent.atomic.LongAdder; +import static java.util.Spliterator.CONCURRENT; +import static java.util.Spliterator.DISTINCT; +import static java.util.Spliterator.NONNULL; + +import java.util.AbstractMap; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Iterator; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Set; +import java.util.Spliterator; +import java.util.Vector; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentHashMap.KeySetView; +import java.util.concurrent.atomic.LongAdder; +import java.util.function.BiFunction; + +import junit.framework.Test; +import junit.framework.TestSuite; public class ConcurrentHashMap8Test extends JSR166TestCase { public static void main(String[] args) { @@ -166,12 +180,12 @@ public class ConcurrentHashMap8Test exte return a; } - /* + /** * replaceAll replaces all matching values. */ public void testReplaceAll() { ConcurrentHashMap map = map5(); - map.replaceAll((x, y) -> {return x > 3 ? "Z" : y;}); + map.replaceAll((x, y) -> { return x > 3 ? "Z" : y; }); assertEquals("A", map.get(one)); assertEquals("B", map.get(two)); assertEquals("C", map.get(three)); @@ -196,8 +210,8 @@ public class ConcurrentHashMap8Test exte Set set1 = map.keySet(); Set set2 = map.keySet(true); set2.add(six); - assertTrue(((KeySetView)set2).getMap() == map); - assertTrue(((KeySetView)set1).getMap() == map); + assertTrue(((ConcurrentHashMap.KeySetView)set2).getMap() == map); + assertTrue(((ConcurrentHashMap.KeySetView)set1).getMap() == map); assertEquals(set2.size(), map.size()); assertEquals(set1.size(), map.size()); assertTrue((Boolean)map.get(six)); @@ -289,7 +303,7 @@ public class ConcurrentHashMap8Test exte map.keySet(null); shouldThrow(); } catch (NullPointerException e) {} - KeySetView set = map.keySet(one); + ConcurrentHashMap.KeySetView set = map.keySet(one); set.add(one); set.add(six); set.add(seven); @@ -299,6 +313,12 @@ public class ConcurrentHashMap8Test exte assertTrue(map.get(seven) == one); } + void checkSpliteratorCharacteristics(Spliterator sp, + int requiredCharacteristics) { + assertEquals(requiredCharacteristics, + requiredCharacteristics & sp.characteristics()); + } + /** * KeySetView.spliterator returns spliterator over the elements in this set */ @@ -307,6 +327,7 @@ public class ConcurrentHashMap8Test exte ConcurrentHashMap map = map5(); Set set = map.keySet(); Spliterator sp = set.spliterator(); + checkSpliteratorCharacteristics(sp, CONCURRENT | DISTINCT | NONNULL); assertEquals(sp.estimateSize(), map.size()); Spliterator sp2 = sp.trySplit(); sp.forEachRemaining((Integer x) -> adder.add(x.longValue())); @@ -531,8 +552,6 @@ public class ConcurrentHashMap8Test exte assertNotSame(x, y); assertEquals(x.size(), y.size()); - assertEquals(x.toString(), y.toString()); - assertTrue(Arrays.equals(x.toArray(), y.toArray())); assertEquals(x, y); assertEquals(y, x); }