1cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath/* 2cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * Licensed to the Apache Software Foundation (ASF) under one or more 3cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * contributor license agreements. See the NOTICE file distributed with 4cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * this work for additional information regarding copyright ownership. 5cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * The ASF licenses this file to You under the Apache License, Version 2.0 6cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * (the "License"); you may not use this file except in compliance with 7cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * the License. You may obtain a copy of the License at 8cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * 9cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * http://www.apache.org/licenses/LICENSE-2.0 10cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * 11cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * Unless required by applicable law or agreed to in writing, software 12cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * distributed under the License is distributed on an "AS IS" BASIS, 13cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * See the License for the specific language governing permissions and 15cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * limitations under the License. 16cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 17cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 18ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathpackage org.apache.harmony.tests.java.util; 19cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 20cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.io.Serializable; 21cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.ArrayDeque; 22cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.ArrayList; 234c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamathimport java.util.Arrays; 24cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.ConcurrentModificationException; 25cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.Iterator; 263984cdba314a0f7b0587000dec99ff26fd9bcbb5Narayan Kamathimport java.util.LinkedList; 27cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport java.util.NoSuchElementException; 284c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamathimport java.util.Spliterator; 29cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 30cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport junit.framework.TestCase; 31cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 323984cdba314a0f7b0587000dec99ff26fd9bcbb5Narayan Kamathimport libcore.java.util.ForEachRemainingTester; 334c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamathimport libcore.java.util.SpliteratorTester; 34cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport org.apache.harmony.testframework.serialization.SerializationTest; 35cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathimport org.apache.harmony.testframework.serialization.SerializationTest.SerializableAssert; 36cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 37cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamathpublic class ArrayDequeTest extends TestCase { 38cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 39cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath private Object testObjOne; 40cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 41cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath private Object testObjTwo; 42cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 43cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath private Object testObjThree; 44cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 45cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath private Object testObjFour; 46cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 47cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath private Object testObjLast; 48cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 49cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath private ArrayDeque<Object> testQue; 50cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 51cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath @Override 52cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath protected void setUp() throws Exception { 53cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath super.setUp(); 54cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testObjOne = new Object(); 55cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testObjTwo = new Object(); 56cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testObjThree = new Object(); 57cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testObjFour = new Object(); 58cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testObjLast = new Object(); 59cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue = new ArrayDeque<Object>(); 60cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 61cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 62cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 63cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#ArrayDeque()} 64cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 65cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_Constructor() throws Exception { 66cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, new ArrayDeque<Object>().size()); 67cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 68cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 69cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 70cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#ArrayDeque(java.util.Collection)} 71cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 72cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_Constructor_LCollection() throws Exception { 73cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, new ArrayDeque<Object>(new ArrayList<Object>()).size()); 74cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 75cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath new ArrayDeque<Object>(null); 76cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NPE"); 77cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 78cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 79cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 80cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 81cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 82cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 83cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#ArrayDeque(int)} 84cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 85cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_Constructor_Int() throws Exception { 86cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, new ArrayDeque<Object>(8).size()); 87cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ArrayDeque<Object> zeroCapQue = new ArrayDeque<Object>(0); 88cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, zeroCapQue.size()); 89cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath zeroCapQue.add(testObjOne); 90cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, zeroCapQue.size()); 91cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, new ArrayDeque<Object>(0).size()); 92cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ArrayDeque<Object> negCapQue = new ArrayDeque<Object>(-1); 93cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, negCapQue.size()); 94cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath negCapQue.add(testObjOne); 95cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, negCapQue.size()); 96cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ArrayDeque<Object> oneCapQue = new ArrayDeque<Object>(1); 97cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, oneCapQue.size()); 98cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath oneCapQue.add(testObjOne); 99cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, oneCapQue.size()); 100cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath oneCapQue.add(testObjOne); 101cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, oneCapQue.size()); 102cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 103cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 104cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 105cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#addFirst(Object)} 106cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 107cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_addFirst() throws Exception { 108cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.addFirst(testObjOne); 109cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, testQue.size()); 110cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 111cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.addFirst(testObjOne); 112cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 113cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 114cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.addFirst(testObjTwo); 115cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 116cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.peek()); 117cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.getLast()); 118cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 119cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.addFirst(null); 120cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 121cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 122cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 123cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 124cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 125cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 126cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 127cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#addLast(Object)} 128cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 129cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_addLast() throws Exception { 130cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.addLast(testObjOne); 131cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, testQue.size()); 132cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 133cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.addLast(testObjOne); 134cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 135cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 136cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.addLast(testObjTwo); 137cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 138cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 139cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.getLast()); 140cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 141cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.addLast(null); 142cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 143cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 144cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 145cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 146cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 147cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 148cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 149cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#offerFirst(Object)} 150cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 151cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_offerFirst() throws Exception { 152cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerFirst(testObjOne)); 153cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, testQue.size()); 154cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 155cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerFirst(testObjOne)); 156cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 157cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 158cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerFirst(testObjTwo)); 159cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 160cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.peek()); 161cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.getLast()); 162cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 163cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.offerFirst(null); 164cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 165cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 166cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 167cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 168cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 169cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 170cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 171cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#offerLast(Object)} 172cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 173cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_offerLast() throws Exception { 174cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 175cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, testQue.size()); 176cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 177cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 178cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 179cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 180cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 181cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 182cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 183cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.getLast()); 184cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 185cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.offerLast(null); 186cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 187cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 188cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 189cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 190cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 191cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 192cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 193cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#removeFirst()} 194cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 195cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_removeFirst() throws Exception { 196cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 197cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 198cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 199cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 200cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.removeFirst()); 201cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 202cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.removeFirst()); 203cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.removeFirst()); 204cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 205cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 206cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.removeFirst(); 207cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException "); 208cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 209cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 210cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 211cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 212cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 213cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 214cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#removeLast()} 215cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 216cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_removeLast() throws Exception { 217cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 218cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 219cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 220cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 221cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.removeLast()); 222cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 223cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.removeLast()); 224cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.removeLast()); 225cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 226cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 227cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.removeLast(); 228cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException "); 229cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 230cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 231cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 232cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 233cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 234cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 235cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#pollFirst()} 236cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 237cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_pollFirst() throws Exception { 238cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 239cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 240cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 241cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 242cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.pollFirst()); 243cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 244cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.pollFirst()); 245cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.pollFirst()); 246cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 247cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(testQue.pollFirst()); 248cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 249cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 250cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 251cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#peekLast()} 252cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 253cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_pollLast() throws Exception { 254cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 255cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 256cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 257cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 258cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.pollLast()); 259cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 260cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.pollLast()); 261cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.pollLast()); 262cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 263cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(testQue.pollFirst()); 264cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 265cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 266cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 267cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#getFirst()} 268cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 269cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_getFirst() throws Exception { 270cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 271cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 272cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 273cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 274cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.getFirst()); 275cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 276cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.pollFirst()); 277cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.getFirst()); 278cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.pollFirst()); 279cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.pollFirst()); 280cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 281cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 282cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.getFirst(); 283cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException "); 284cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 285cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 286cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 287cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 288cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 289cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 290cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#getLast()} 291cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 292cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_getLast() throws Exception { 293cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 294cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 295cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 296cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 297cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.getLast()); 298cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 299cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.pollLast()); 300cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.getLast()); 301cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.pollLast()); 302cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.pollLast()); 303cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 304cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 305cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.getLast(); 306cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException "); 307cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 308cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 309cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 310cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 311cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 312cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 313cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#peekFirst()} 314cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 315cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_peekFirst() throws Exception { 316cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 317cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 318cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 319cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 320cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peekFirst()); 321cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 322cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.pollFirst()); 323cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.peekFirst()); 324cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.pollFirst()); 325cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.pollFirst()); 326cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 327cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, testQue.peekFirst()); 328cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 329cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 330cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 331cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#peekLast()} 332cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 333cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_peekLast() throws Exception { 334cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 335cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 336cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 337cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 338cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.peekLast()); 339cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 340cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.pollLast()); 341cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.peekLast()); 342cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.pollLast()); 343cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.pollLast()); 344cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 345cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(testQue.peekLast()); 346cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 347cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 348cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 349cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#removeFirstOccurrence(Object)} 350cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 351cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_removeFirstOccurrence() throws Exception { 352cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 353cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 354cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 355cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 356cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 357cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, testQue.size()); 358cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.removeFirstOccurrence(testObjOne)); 359cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.removeFirstOccurrence(testObjFour)); 360cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.peekFirst()); 361cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peekLast()); 362cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(4, testQue.size()); 363cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.removeFirstOccurrence(testObjOne)); 364cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 365cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peekLast()); 366cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.removeFirstOccurrence(testObjOne)); 367cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 368cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.peekLast()); 369cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.removeFirstOccurrence(testObjOne)); 370cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 371cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 372cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 373cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#removeLastOccurrence(Object)} 374cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 375cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_removeLastOccurrence() throws Exception { 376cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 377cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 378cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 379cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 380cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 381cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, testQue.size()); 382cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.removeLastOccurrence(testObjOne)); 383cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.removeLastOccurrence(testObjFour)); 384cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peekFirst()); 385cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.peekLast()); 386cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(4, testQue.size()); 387cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.removeLastOccurrence(testObjOne)); 388cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 389cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peekFirst()); 390cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.peekLast()); 391cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.removeLastOccurrence(testObjOne)); 392cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 393cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.peekLast()); 394cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.removeLastOccurrence(testObjOne)); 395cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 396cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 397cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 398cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#add(Object)} 399cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 400cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_add() throws Exception { 401cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 402cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjTwo)); 403cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 404cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 405cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peekFirst()); 406cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.peekLast()); 407cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 408cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.add(null); 409cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Should throw NullPointerException"); 410cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 411cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 412cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 413cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 414cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 415cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 416cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#offer(Object)} 417cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 418cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_offer() throws Exception { 419cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offer(testObjOne)); 420cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offer(testObjTwo)); 421cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offer(testObjOne)); 422cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offer(testObjThree)); 423cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peekFirst()); 424cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.peekLast()); 425cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 426cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.offer(null); 427cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("Should throw NullPointerException"); 428cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 429cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 430cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 431cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 432cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 433cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 434cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#remove()} 435cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 436cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_remove() throws Exception { 437cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 438cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 439cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 440cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 441cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.remove()); 442cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 443cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.remove()); 444cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.remove()); 445cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 446cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 447cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.remove(); 448cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException "); 449cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 450cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 451cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 452cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 453cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 454cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 455cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#poll()} 456cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 457cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_poll() throws Exception { 458cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 459cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 460cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 461cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 462cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.poll()); 463cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 464cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.poll()); 465cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.poll()); 466cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 467cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertNull(testQue.poll()); 468cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 469cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 470cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 471cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#element()} 472cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 473cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_element() throws Exception { 474cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 475cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 476cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 477cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 478cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.element()); 479cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 480cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.pollFirst()); 481cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.element()); 482cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.pollFirst()); 483cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.element()); 484cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.pollFirst()); 485cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 486cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 487cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.element(); 488cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException "); 489cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 490cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 491cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 492cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 493cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 494cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 495cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#peek()} 496cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 497cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_peek() throws Exception { 498cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 499cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 500cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 501cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 502cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 503cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 504cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.pollFirst()); 505cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.peek()); 506cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.pollFirst()); 507cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.pollFirst()); 508cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 509cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(null, testQue.peek()); 510cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 511cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 512cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 513cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#push(Object)} 514cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 515cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_push() throws Exception { 516cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.push(testObjOne); 517cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(1, testQue.size()); 518cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 519cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.push(testObjOne); 520cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 521cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 522cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.push(testObjTwo); 523cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 524cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.peek()); 525cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.getLast()); 526cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 527cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.push(null); 528cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 529cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 530cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 531cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 532cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 533cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 534cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 535cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#pop()} 536cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 537cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_pop() throws Exception { 538cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 539cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 540cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 541cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 542cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.pop()); 543cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 544cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.pop()); 545cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.pop()); 546cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 547cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 548cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.pop(); 549cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException "); 550cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 551cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 552cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 553cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 554cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 555cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 556cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#addFirst(Object)} 557cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 558cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_size() throws Exception { 559cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 560cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 561cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjTwo)); 562cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 563cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 564cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 565cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(4, testQue.size()); 566cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.remove(); 567cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.remove(); 568cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 569cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.clear(); 570cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.size()); 571cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 572cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 573cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 574cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#isEmpty()} 575cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 576cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_isEmpty() throws Exception { 577cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.isEmpty()); 578cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 579cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.isEmpty()); 580cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjTwo)); 581cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.isEmpty()); 582cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 583cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 584cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.isEmpty()); 585cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.remove(); 586cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.remove(); 587cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.isEmpty()); 588cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.clear(); 589cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.isEmpty()); 590cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 591cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 592cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 593cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#iterator()} 594cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 595cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_iterator() throws Exception { 596cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.iterator().hasNext()); 597cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 598cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjTwo)); 599cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 600cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 601cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjLast)); 602cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator result = testQue.iterator(); 603cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, testQue.size()); 604cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 605cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result.remove(); 606cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalStateException"); 607cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalStateException e) { 608cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 609cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 610cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 611cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 612cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result.next(); 613cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw ConcurrentModificationException"); 614cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (ConcurrentModificationException e) { 615cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 616cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 617cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result = testQue.iterator(); 618cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, result.next()); 619cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, result.next()); 620cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, result.next()); 621cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, result.next()); 622cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjLast, result.next()); 623cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(result.hasNext()); 624cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result.remove(); 625cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, result.next()); 626cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(result.hasNext()); 627cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 628cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result.next(); 629cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 630cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 631cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 632cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 633cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // test a full array 634cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ArrayDeque<Object> ad = new ArrayDeque<Object>(); 635cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // fill the array 636cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 16; ++i) { 637cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad.addLast(new Object()); 638cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 639cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(ad.iterator().hasNext()); 640cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator<Object> iter = ad.iterator(); 641cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 16; ++i) { 642cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iter.hasNext()); 643cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.next(); 644cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 645cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.remove(); 646cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // test un-full array 647cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad = new ArrayDeque<Object>(); 648cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // fill the array 649cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 5; ++i) { 650cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad.addLast(new Object()); 651cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 652cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter = ad.iterator(); 653cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 5; ++i) { 654cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iter.hasNext()); 655cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.next(); 656cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 657cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.remove(); 658cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 659cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad = new ArrayDeque<Object>(); 660cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // fill the array 661cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 16; ++i) { 662cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad.addLast(new Object()); 663cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 664cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter = ad.iterator(); 665cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iter.hasNext()); 666cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < ad.size(); ++i) { 667cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.next(); 668cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 669cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iter.hasNext()); 670cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.remove(); 671cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad.add(new Object()); 672cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iter.hasNext()); 673cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 674cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 675cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 676cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#descendingIterator()} 677cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 678cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_descendingIterator() throws Exception { 679cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.descendingIterator().hasNext()); 680cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 681cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjTwo)); 682cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 683cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 684cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjLast)); 685cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator result = testQue.descendingIterator(); 686cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, testQue.size()); 687cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 688cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result.remove(); 689cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw IllegalStateException"); 690cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (IllegalStateException e) { 691cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 692cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 693cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjFour)); 694cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 695cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // a strange behavior here, RI's descendingIterator() and iterator() is 696cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // properly different. Notice spec: "The iterators returned by this 697cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // class's iterator method are fail-fast". RI shows descendingIterator() 698cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // is not an iterator method. 699cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjLast, result.next()); 700cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 701cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result = testQue.descendingIterator(); 702cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjFour, result.next()); 703cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjLast, result.next()); 704cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, result.next()); 705cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, result.next()); 706cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, result.next()); 707cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(result.hasNext()); 708cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result.remove(); 709cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, result.next()); 710cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(result.hasNext()); 711cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 712cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result.next(); 713cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NoSuchElementException"); 714cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NoSuchElementException e) { 715cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 716cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 717cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // test a full array 718cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ArrayDeque<Object> ad = new ArrayDeque<Object>(); 719cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // fill the array 720cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 16; ++i) { 721cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad.addLast(new Object()); 722cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 723cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(ad.descendingIterator().hasNext()); 724cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Iterator<Object> iter = ad.descendingIterator(); 725cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 16; ++i) { 726cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iter.hasNext()); 727cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.next(); 728cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 729cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.remove(); 730cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // test un-full array 731cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad = new ArrayDeque<Object>(); 732cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // fill the array 733cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 5; ++i) { 734cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad.addLast(new Object()); 735cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 736cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter = ad.descendingIterator(); 737cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 5; ++i) { 738cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iter.hasNext()); 739cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.next(); 740cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 741cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.remove(); 742cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 743cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad = new ArrayDeque<Object>(); 744cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // fill the array 745cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < 16; ++i) { 746cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad.addLast(new Object()); 747cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 748cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter = ad.descendingIterator(); 749cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(iter.hasNext()); 750cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath for (int i = 0; i < ad.size(); ++i) { 751cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.next(); 752cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 753cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iter.hasNext()); 754cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath iter.remove(); 755cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ad.add(new Object()); 756cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(iter.hasNext()); 757cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 758cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 759cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 760cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#contains(Object)} 761cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 762cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_contains() throws Exception { 763cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.contains(testObjFour)); 764cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.contains(null)); 765cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 766cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjTwo)); 767cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 768cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 769cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjLast)); 770cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 771cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.contains(testObjOne)); 772cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.contains(testObjTwo)); 773cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.contains(testObjThree)); 774cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.contains(testObjLast)); 775cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.contains(null)); 776cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.clear(); 777cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.contains(testObjOne)); 778cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.contains(testObjTwo)); 779cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 780cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 781cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 782cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#remove(Object)} 783cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 784cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_remove_LObject() throws Exception { 785cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 786cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjTwo)); 787cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 788cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjThree)); 789cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.offerLast(testObjOne)); 790cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, testQue.size()); 791cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.remove(testObjOne)); 792cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.remove(testObjFour)); 793cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, testQue.peekFirst()); 794cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peekLast()); 795cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(4, testQue.size()); 796cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.remove(testObjOne)); 797cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(3, testQue.size()); 798cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peekLast()); 799cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.remove(testObjOne)); 800cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(2, testQue.size()); 801cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, testQue.peekLast()); 802cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(testQue.remove(testObjOne)); 803cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 804cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 805cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 806cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#clear()} 807cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 808cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_clear() throws Exception { 809cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.isEmpty()); 810cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.clear(); 811cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.isEmpty()); 812cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 813cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjTwo)); 814cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 815cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 816cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.clear(); 817cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.isEmpty()); 818cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 819cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 820cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 821cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#toArray()} 822cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 823cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_toArray() throws Exception { 824cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, testQue.toArray().length); 825cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 826cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjTwo)); 827cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 828cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 829cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjLast)); 830cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object[] result = testQue.toArray(); 831cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, testQue.size()); 832cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, result[0]); 833cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, result[1]); 834cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, result[2]); 835cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, result[3]); 836cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjLast, result[4]); 837cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // change in array do not affect ArrayDeque 838cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result[0] = null; 839cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, testQue.size()); 840cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 841cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 842cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 843cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 844cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#toArray(Object[])} 845cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 846cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_toArray_$LObject() throws Exception { 847cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object[] array = new Object[0]; 848cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Object[] result = testQue.toArray(array); 849cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, result.length); 850cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(array, result); 851cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 852cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjTwo)); 853cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 854cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 855cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjLast)); 856cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result = testQue.toArray(array); 857cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, testQue.size()); 858cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, result.length); 859cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, array.length); 860cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(array == result); 861cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, result[0]); 862cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjTwo, result[1]); 863cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, result[2]); 864cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjThree, result[3]); 865cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjLast, result[4]); 866cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // change in array do not affect ArrayDeque 867cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath result[0] = null; 868cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(5, testQue.size()); 869cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testObjOne, testQue.peek()); 870cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath try { 871cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath testQue.toArray(null); 872cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath fail("should throw NullPointerException"); 873cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } catch (NullPointerException e) { 874cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath // expected 875cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 876cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 877cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 878cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 879cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 880cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * {@link java.util.ArrayDeque#clone()} 881cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 882cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_clone() throws Exception { 883cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ArrayDeque<Object> cloned = testQue.clone(); 884cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(0, cloned.size()); 885cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertFalse(cloned == testQue); 886cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 887cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjTwo)); 888cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjOne)); 889cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjThree)); 890cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testObjLast)); 891cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(testQue)); 892cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath cloned = testQue.clone(); 893cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(6, cloned.size()); 894cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath while (0 != testQue.size()) { 895cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(testQue.remove(), cloned.remove()); 896cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 897cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 898cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 8993984cdba314a0f7b0587000dec99ff26fd9bcbb5Narayan Kamath public void test_forEachRemaining_iterator() throws Exception { 900a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath ForEachRemainingTester.test_forEachRemaining(new ArrayDeque<>(), 901a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath new String[]{ "foo", "bar", "baz "}); 902a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath ForEachRemainingTester.test_forEachRemaining_NPE(new ArrayDeque<>(), 903a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath new String[]{"foo", "bar", "baz "}); 904a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath } 905a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath 906a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath public void test_forEachRemaining_CME() throws Exception { 907a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath ArrayDeque<String> adq = new ArrayDeque<>(); 908a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath adq.add("foo"); 909a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath 910a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath // The ArrayDeque forEachRemaining implementation doesn't use a precise check 911a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath // for concurrent modifications. 912a71c780559190439211e731ea8ecf1e0291685d9Narayan Kamath adq.iterator().forEachRemaining(s -> adq.add(s)); 9133984cdba314a0f7b0587000dec99ff26fd9bcbb5Narayan Kamath } 9143984cdba314a0f7b0587000dec99ff26fd9bcbb5Narayan Kamath 9154c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath public void test_spliterator() throws Exception { 9164c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath ArrayList<Integer> testElements = new ArrayList<>( 9174c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)); 9184c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath ArrayDeque<Integer> adq = new ArrayDeque<>(); 9194c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath adq.addAll(testElements); 9204c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath 9214c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath SpliteratorTester.runBasicIterationTests(adq.spliterator(), testElements); 9224c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath SpliteratorTester.runBasicSplitTests(adq, testElements); 9234c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath SpliteratorTester.testSpliteratorNPE(adq.spliterator()); 9244c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath 9254c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath assertTrue(adq.spliterator().hasCharacteristics( 9264c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath Spliterator.ORDERED | Spliterator.SIZED | Spliterator.SUBSIZED)); 9274c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath 9284c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath SpliteratorTester.runOrderedTests(adq); 9294c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath SpliteratorTester.runSizedTests(adq, 16 /* expected size */); 9304c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath SpliteratorTester.runSubSizedTests(adq, 16 /* expected size */); 9314c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath } 9324c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath 9334c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath public void test_spliterator_CME() throws Exception { 9344c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath ArrayDeque<Integer> adq = new ArrayDeque<>(); 9354c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath adq.add(52); 9364c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath 9374c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath Spliterator<Integer> sp = adq.spliterator(); 9384c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath 939a73ca5822d77cff8b675ead6e5a3ad190183ba1cNarayan Kamath // Spliterators from ArrayDequeues never throw CME. The following statements 940a73ca5822d77cff8b675ead6e5a3ad190183ba1cNarayan Kamath // would have thrown a CME on most other collection classes. 941a73ca5822d77cff8b675ead6e5a3ad190183ba1cNarayan Kamath assertTrue(sp.tryAdvance(value -> adq.add(value))); 9424c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath sp.forEachRemaining(value -> adq.add(value)); 9434c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath } 9444c89023ef86f29fa9add7db2574f2169fe842577Narayan Kamath 945cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 946cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * java.util.ArrayDeque#Serialization() 947cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 948cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void test_serialization() throws Exception { 949cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(new Integer(1))); 950cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(new Integer(2))); 951cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(new Integer(3))); 952cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(new Integer(4))); 953cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(new Integer(5))); 954cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SerializationTest.verifySelf(testQue, new SerializableAssert() { 955cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void assertDeserialized(Serializable initial, 956cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Serializable deserialized) { 957cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ArrayDeque<Object> formerQue = (ArrayDeque) initial; 958cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ArrayDeque<Object> deserializedQue = (ArrayDeque) deserialized; 959cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(formerQue.remove(), deserializedQue.remove()); 960cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 961cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath }); 962cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 963cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath 964cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath /** 965cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath * serialization/deserialization compatibility with RI. 966cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath */ 967cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath @SuppressWarnings({ "unchecked", "boxing" }) 968cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void testSerializationCompatibility() throws Exception { 969cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(new Integer(1))); 970cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(new Integer(2))); 971cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(new Integer(3))); 972cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(new Integer(4))); 973cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertTrue(testQue.add(new Integer(5))); 974cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath SerializationTest.verifyGolden(this, testQue, new SerializableAssert() { 975cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath public void assertDeserialized(Serializable initial, 976cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath Serializable deserialized) { 977cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ArrayDeque<Object> formerQue = (ArrayDeque) initial; 978cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath ArrayDeque<Object> deserializedQue = (ArrayDeque) deserialized; 979cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath assertEquals(formerQue.remove(), deserializedQue.remove()); 980cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 981cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath }); 982cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath } 983cb318c6f4fe5b0e20099fa85f1b95ccb2d24119fNarayan Kamath} 984