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