--- jsr166/src/test/tck/ConcurrentSkipListSetTest.java 2017/03/18 20:42:20 1.47 +++ jsr166/src/test/tck/ConcurrentSkipListSetTest.java 2018/01/07 22:59:18 1.49 @@ -38,8 +38,7 @@ public class ConcurrentSkipListSetTest e * Integers 0 ... n - 1. */ private static ConcurrentSkipListSet populatedSet(int n) { - ConcurrentSkipListSet q = - new ConcurrentSkipListSet(); + ConcurrentSkipListSet q = new ConcurrentSkipListSet<>(); assertTrue(q.isEmpty()); for (int i = n - 1; i >= 0; i -= 2) assertTrue(q.add(new Integer(i))); @@ -526,7 +525,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);