ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/Collection8Test.java
(Generate patch)

Comparing jsr166/src/test/tck/Collection8Test.java (file contents):
Revision 1.10 by jsr166, Sat Nov 5 01:27:00 2016 UTC vs.
Revision 1.13 by jsr166, Sat Nov 5 19:56:46 2016 UTC

# Line 59 | Line 59 | public class Collection8Test extends JSR
59      /** Checks properties of empty collections. */
60      public void testEmptyMeansEmpty() {
61          Collection c = impl.emptyCollection();
62 +        emptyMeansEmpty(c);
63 +
64 +        if (c instanceof java.io.Serializable)
65 +            emptyMeansEmpty(serialClone(c));
66 +
67 +        Collection clone = cloneableClone(c);
68 +        if (clone != null)
69 +            emptyMeansEmpty(clone);
70 +    }
71 +
72 +    void emptyMeansEmpty(Collection c) {
73          assertTrue(c.isEmpty());
74          assertEquals(0, c.size());
75          assertEquals("[]", c.toString());
# Line 92 | Line 103 | public class Collection8Test extends JSR
103              assertEquals(0, c.spliterator().estimateSize());
104          assertFalse(c.contains(bomb()));
105          assertFalse(c.remove(bomb()));
106 <        if (Queue.class.isAssignableFrom(impl.klazz())) {
106 >        if (c instanceof Queue) {
107              Queue q = (Queue) c;
108              assertNull(q.peek());
109              assertNull(q.poll());
110          }
111 <        if (Deque.class.isAssignableFrom(impl.klazz())) {
111 >        if (c instanceof Deque) {
112              Deque d = (Deque) c;
113              assertNull(d.peekFirst());
114              assertNull(d.peekLast());
# Line 234 | Line 245 | public class Collection8Test extends JSR
245          for (int i = 0; i < n; i++) c.add(impl.makeElement(i));
246          ArrayList iterated = new ArrayList();
247          ArrayList iteratedForEachRemaining = new ArrayList();
248 +        ArrayList tryAdvanced = new ArrayList();
249          ArrayList spliterated = new ArrayList();
250 <        ArrayList foreached = new ArrayList();
250 >        ArrayList forEached = new ArrayList();
251 >        ArrayList removeIfed = new ArrayList();
252          for (Object x : c) iterated.add(x);
253          c.iterator().forEachRemaining(e -> iteratedForEachRemaining.add(e));
254 +        for (Spliterator s = c.spliterator();
255 +             s.tryAdvance(e -> tryAdvanced.add(e)); ) {}
256          c.spliterator().forEachRemaining(e -> spliterated.add(e));
257 <        c.forEach(e -> foreached.add(e));
257 >        c.forEach(e -> forEached.add(e));
258 >        c.removeIf(e -> { removeIfed.add(e); return false; });
259          boolean ordered =
260              c.spliterator().hasCharacteristics(Spliterator.ORDERED);
261          if (c instanceof List || c instanceof Deque)
262              assertTrue(ordered);
263          if (ordered) {
264              assertEquals(iterated, iteratedForEachRemaining);
265 +            assertEquals(iterated, tryAdvanced);
266              assertEquals(iterated, spliterated);
267 <            assertEquals(iterated, foreached);
267 >            assertEquals(iterated, forEached);
268 >            assertEquals(iterated, removeIfed);
269          } else {
270              HashSet cset = new HashSet(c);
271              assertEquals(cset, new HashSet(iterated));
272              assertEquals(cset, new HashSet(iteratedForEachRemaining));
273 +            assertEquals(cset, new HashSet(tryAdvanced));
274              assertEquals(cset, new HashSet(spliterated));
275 <            assertEquals(cset, new HashSet(foreached));
275 >            assertEquals(cset, new HashSet(forEached));
276 >            assertEquals(cset, new HashSet(removeIfed));
277          }
278          if (c instanceof Deque) {
279              Deque d = (Deque) c;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines