--- jsr166/src/test/tck/ConcurrentSkipListSetTest.java 2016/06/02 01:15:46 1.43 +++ jsr166/src/test/tck/ConcurrentSkipListSetTest.java 2017/08/04 04:59:23 1.48 @@ -35,9 +35,9 @@ public class ConcurrentSkipListSetTest e /** * Returns a new set of given size containing consecutive - * Integers 0 ... n. + * Integers 0 ... n - 1. */ - private ConcurrentSkipListSet populatedSet(int n) { + private static ConcurrentSkipListSet populatedSet(int n) { ConcurrentSkipListSet q = new ConcurrentSkipListSet(); assertTrue(q.isEmpty()); @@ -53,7 +53,7 @@ public class ConcurrentSkipListSetTest e /** * Returns a new set of first 5 ints. */ - private ConcurrentSkipListSet set5() { + private static ConcurrentSkipListSet set5() { ConcurrentSkipListSet q = new ConcurrentSkipListSet(); assertTrue(q.isEmpty()); q.add(one); @@ -202,7 +202,7 @@ public class ConcurrentSkipListSetTest e } catch (ClassCastException success) { assertTrue(q.size() < 2); for (int i = 0, size = q.size(); i < size; i++) - assertTrue(q.pollFirst().getClass() == Object.class); + assertSame(Object.class, q.pollFirst().getClass()); assertNull(q.pollFirst()); assertTrue(q.isEmpty()); assertEquals(0, q.size()); @@ -526,7 +526,25 @@ public class ConcurrentSkipListSetTest e } /** - * A deserialized serialized set has same elements + * A cloned set equals original + */ + public void testClone() { + ConcurrentSkipListSet x = populatedSet(SIZE); + ConcurrentSkipListSet y = x.clone(); + + assertNotSame(x, y); + assertEquals(x.size(), y.size()); + assertEquals(x, y); + assertEquals(y, x); + while (!x.isEmpty()) { + assertFalse(y.isEmpty()); + assertEquals(x.pollFirst(), y.pollFirst()); + } + assertTrue(y.isEmpty()); + } + + /** + * A deserialized/reserialized set equals original */ public void testSerialization() throws Exception { NavigableSet x = populatedSet(SIZE); @@ -698,7 +716,8 @@ public class ConcurrentSkipListSetTest e } static NavigableSet newSet(Class cl) throws Exception { - NavigableSet result = (NavigableSet) cl.newInstance(); + NavigableSet result = + (NavigableSet) cl.getConstructor().newInstance(); assertEquals(0, result.size()); assertFalse(result.iterator().hasNext()); return result;