1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License. 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.util; 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.io.Serializable; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.ArrayDeque; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.ArrayList; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.ConcurrentModificationException; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Iterator; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.NoSuchElementException; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport junit.framework.TestCase; 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.testframework.serialization.SerializationTest; 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.testframework.serialization.SerializationTest.SerializableAssert; 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class ArrayDequeTest extends TestCase { 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private Object testObjOne; 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private Object testObjTwo; 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private Object testObjThree; 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private Object testObjFour; 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private Object testObjLast; 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private ArrayDeque<Object> testQue; 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @Override 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void setUp() throws Exception { 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes super.setUp(); 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testObjOne = new Object(); 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testObjTwo = new Object(); 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testObjThree = new Object(); 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testObjFour = new Object(); 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testObjLast = new Object(); 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue = new ArrayDeque<Object>(); 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#ArrayDeque()} 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Constructor() throws Exception { 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, new ArrayDeque<Object>().size()); 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#ArrayDeque(java.util.Collection)} 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Constructor_LCollection() throws Exception { 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, new ArrayDeque<Object>(new ArrayList<Object>()).size()); 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new ArrayDeque<Object>(null); 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NPE"); 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#ArrayDeque(int)} 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Constructor_Int() throws Exception { 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, new ArrayDeque<Object>(8).size()); 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ArrayDeque<Object> zeroCapQue = new ArrayDeque<Object>(0); 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, zeroCapQue.size()); 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes zeroCapQue.add(testObjOne); 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1, zeroCapQue.size()); 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, new ArrayDeque<Object>(0).size()); 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ArrayDeque<Object> negCapQue = new ArrayDeque<Object>(-1); 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, negCapQue.size()); 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes negCapQue.add(testObjOne); 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1, negCapQue.size()); 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ArrayDeque<Object> oneCapQue = new ArrayDeque<Object>(1); 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, oneCapQue.size()); 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes oneCapQue.add(testObjOne); 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1, oneCapQue.size()); 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes oneCapQue.add(testObjOne); 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, oneCapQue.size()); 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#addFirst(Object)} 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addFirst() throws Exception { 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.addFirst(testObjOne); 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1, testQue.size()); 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.addFirst(testObjOne); 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.addFirst(testObjTwo); 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.peek()); 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.getLast()); 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.addFirst(null); 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#addLast(Object)} 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addLast() throws Exception { 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.addLast(testObjOne); 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1, testQue.size()); 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.addLast(testObjOne); 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.addLast(testObjTwo); 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.getLast()); 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.addLast(null); 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#offerFirst(Object)} 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_offerFirst() throws Exception { 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerFirst(testObjOne)); 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1, testQue.size()); 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerFirst(testObjOne)); 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerFirst(testObjTwo)); 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.peek()); 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.getLast()); 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.offerFirst(null); 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#offerLast(Object)} 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_offerLast() throws Exception { 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1, testQue.size()); 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.getLast()); 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.offerLast(null); 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#removeFirst()} 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_removeFirst() throws Exception { 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.removeFirst()); 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.removeFirst()); 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.removeFirst()); 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.removeFirst(); 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException "); 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#removeLast()} 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_removeLast() throws Exception { 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.removeLast()); 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.removeLast()); 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.removeLast()); 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.removeLast(); 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException "); 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#pollFirst()} 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_pollFirst() throws Exception { 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.pollFirst()); 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.pollFirst()); 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.pollFirst()); 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull(testQue.pollFirst()); 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#peekLast()} 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_pollLast() throws Exception { 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.pollLast()); 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.pollLast()); 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.pollLast()); 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull(testQue.pollFirst()); 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#getFirst()} 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getFirst() throws Exception { 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.getFirst()); 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.pollFirst()); 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.getFirst()); 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.pollFirst()); 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.pollFirst()); 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.getFirst(); 278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException "); 279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#getLast()} 286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_getLast() throws Exception { 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.getLast()); 293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.pollLast()); 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.getLast()); 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.pollLast()); 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.pollLast()); 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.getLast(); 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException "); 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#peekFirst()} 309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_peekFirst() throws Exception { 311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peekFirst()); 316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.pollFirst()); 318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.peekFirst()); 319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.pollFirst()); 320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.pollFirst()); 321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(null, testQue.peekFirst()); 323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#peekLast()} 327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_peekLast() throws Exception { 329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.peekLast()); 334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.pollLast()); 336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.peekLast()); 337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.pollLast()); 338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.pollLast()); 339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull(testQue.peekLast()); 341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#removeFirstOccurrence(Object)} 345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_removeFirstOccurrence() throws Exception { 347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(5, testQue.size()); 353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.removeFirstOccurrence(testObjOne)); 354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.removeFirstOccurrence(testObjFour)); 355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.peekFirst()); 356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peekLast()); 357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(4, testQue.size()); 358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.removeFirstOccurrence(testObjOne)); 359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peekLast()); 361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.removeFirstOccurrence(testObjOne)); 362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.peekLast()); 364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.removeFirstOccurrence(testObjOne)); 365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#removeLastOccurrence(Object)} 369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_removeLastOccurrence() throws Exception { 371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(5, testQue.size()); 377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.removeLastOccurrence(testObjOne)); 378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.removeLastOccurrence(testObjFour)); 379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peekFirst()); 380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.peekLast()); 381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(4, testQue.size()); 382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.removeLastOccurrence(testObjOne)); 383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peekFirst()); 385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.peekLast()); 386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.removeLastOccurrence(testObjOne)); 387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.peekLast()); 389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.removeLastOccurrence(testObjOne)); 390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#add(Object)} 394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_add() throws Exception { 396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjTwo)); 398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peekFirst()); 401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.peekLast()); 402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.add(null); 404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw NullPointerException"); 405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#offer(Object)} 412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_offer() throws Exception { 414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offer(testObjOne)); 415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offer(testObjTwo)); 416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offer(testObjOne)); 417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offer(testObjThree)); 418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peekFirst()); 419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.peekLast()); 420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.offer(null); 422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("Should throw NullPointerException"); 423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 427561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 428561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 429561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#remove()} 430561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 431561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_remove() throws Exception { 432561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 433561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 434561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 435561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 436561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.remove()); 437561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 438561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.remove()); 439561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.remove()); 440561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 441561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 442561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.remove(); 443561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException "); 444561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 445561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 446561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 447561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 448561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 449561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 450561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#poll()} 451561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 452561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_poll() throws Exception { 453561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 454561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 455561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 456561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 457561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.poll()); 458561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 459561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.poll()); 460561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.poll()); 461561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 462561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull(testQue.poll()); 463561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 464561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 465561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 466561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#element()} 467561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 468561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_element() throws Exception { 469561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 470561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 471561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 472561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 473561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.element()); 474561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 475561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.pollFirst()); 476561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.element()); 477561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.pollFirst()); 478561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.element()); 479561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.pollFirst()); 480561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 481561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 482561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.element(); 483561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException "); 484561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 485561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 486561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 487561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 488561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 489561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 490561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#peek()} 491561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 492561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_peek() throws Exception { 493561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 494561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 495561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 496561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 497561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 498561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 499561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.pollFirst()); 500561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.peek()); 501561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.pollFirst()); 502561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.pollFirst()); 503561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 504561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(null, testQue.peek()); 505561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 506561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 507561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 508561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#push(Object)} 509561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 510561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_push() throws Exception { 511561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.push(testObjOne); 512561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(1, testQue.size()); 513561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 514561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.push(testObjOne); 515561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 516561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 517561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.push(testObjTwo); 518561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 519561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.peek()); 520561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.getLast()); 521561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 522561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.push(null); 523561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 524561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 525561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 526561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 527561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 528561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 529561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 530561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#pop()} 531561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 532561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_pop() throws Exception { 533561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 534561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 535561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 536561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 537561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.pop()); 538561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 539561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.pop()); 540561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.pop()); 541561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 542561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 543561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.pop(); 544561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException "); 545561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 546561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 547561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 548561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 549561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 550561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 551561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#addFirst(Object)} 552561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 553561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_size() throws Exception { 554561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 555561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 556561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjTwo)); 557561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 558561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 559561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 560561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(4, testQue.size()); 561561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.remove(); 562561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.remove(); 563561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 564561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.clear(); 565561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.size()); 566561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 567561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 568561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 569561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#isEmpty()} 570561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 571561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_isEmpty() throws Exception { 572561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.isEmpty()); 573561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 574561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.isEmpty()); 575561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjTwo)); 576561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.isEmpty()); 577561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 578561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 579561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.isEmpty()); 580561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.remove(); 581561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.remove(); 582561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.isEmpty()); 583561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.clear(); 584561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.isEmpty()); 585561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 586561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 587561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 588561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#iterator()} 589561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 590561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_iterator() throws Exception { 591561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.iterator().hasNext()); 592561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 593561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjTwo)); 594561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 595561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 596561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjLast)); 597561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Iterator result = testQue.iterator(); 598561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(5, testQue.size()); 599561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 600561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.remove(); 601561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalStateException"); 602561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalStateException e) { 603561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 604561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 605561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 606561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 607561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.next(); 608561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw ConcurrentModificationException"); 609561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (ConcurrentModificationException e) { 610561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 611561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 612561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = testQue.iterator(); 613561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, result.next()); 614561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, result.next()); 615561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, result.next()); 616561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, result.next()); 617561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjLast, result.next()); 618561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(result.hasNext()); 619561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.remove(); 620561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, result.next()); 621561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(result.hasNext()); 622561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 623561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.next(); 624561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException"); 625561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 626561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 627561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 628561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // test a full array 629561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ArrayDeque<Object> ad = new ArrayDeque<Object>(); 630561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // fill the array 631561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 16; ++i) { 632561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad.addLast(new Object()); 633561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 634561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(ad.iterator().hasNext()); 635561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Iterator<Object> iter = ad.iterator(); 636561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 16; ++i) { 637561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(iter.hasNext()); 638561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.next(); 639561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 640561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.remove(); 641561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // test un-full array 642561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad = new ArrayDeque<Object>(); 643561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // fill the array 644561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 5; ++i) { 645561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad.addLast(new Object()); 646561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 647561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter = ad.iterator(); 648561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 5; ++i) { 649561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(iter.hasNext()); 650561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.next(); 651561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 652561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.remove(); 653561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 654561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad = new ArrayDeque<Object>(); 655561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // fill the array 656561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 16; ++i) { 657561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad.addLast(new Object()); 658561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 659561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter = ad.iterator(); 660561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(iter.hasNext()); 661561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < ad.size(); ++i) { 662561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.next(); 663561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 664561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(iter.hasNext()); 665561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.remove(); 666561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad.add(new Object()); 667561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(iter.hasNext()); 668561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 669561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 670561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 671561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#descendingIterator()} 672561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 673561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_descendingIterator() throws Exception { 674561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.descendingIterator().hasNext()); 675561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 676561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjTwo)); 677561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 678561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 679561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjLast)); 680561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Iterator result = testQue.descendingIterator(); 681561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(5, testQue.size()); 682561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 683561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.remove(); 684561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalStateException"); 685561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalStateException e) { 686561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 687561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 688561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjFour)); 689561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 690561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // a strange behavior here, RI's descendingIterator() and iterator() is 691561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // properly different. Notice spec: "The iterators returned by this 692561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // class's iterator method are fail-fast". RI shows descendingIterator() 693561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // is not an iterator method. 694561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjLast,result.next()); 695561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 696561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = testQue.descendingIterator(); 697561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjFour, result.next()); 698561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjLast, result.next()); 699561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, result.next()); 700561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, result.next()); 701561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, result.next()); 702561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(result.hasNext()); 703561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.remove(); 704561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, result.next()); 705561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(result.hasNext()); 706561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 707561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result.next(); 708561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException"); 709561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 710561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 711561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 712561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // test a full array 713561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ArrayDeque<Object> ad = new ArrayDeque<Object>(); 714561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // fill the array 715561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 16; ++i) { 716561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad.addLast(new Object()); 717561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 718561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(ad.descendingIterator().hasNext()); 719561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Iterator<Object> iter = ad.descendingIterator(); 720561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 16; ++i) { 721561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(iter.hasNext()); 722561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.next(); 723561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 724561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.remove(); 725561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // test un-full array 726561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad = new ArrayDeque<Object>(); 727561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // fill the array 728561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 5; ++i) { 729561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad.addLast(new Object()); 730561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 731561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter = ad.descendingIterator(); 732561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 5; ++i) { 733561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(iter.hasNext()); 734561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.next(); 735561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 736561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.remove(); 737561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 738561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad = new ArrayDeque<Object>(); 739561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // fill the array 740561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < 16; ++i) { 741561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad.addLast(new Object()); 742561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 743561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter = ad.descendingIterator(); 744561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(iter.hasNext()); 745561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < ad.size(); ++i) { 746561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.next(); 747561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 748561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(iter.hasNext()); 749561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.remove(); 750561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ad.add(new Object()); 751561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(iter.hasNext()); 752561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 753561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 754561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 755561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#contains(Object)} 756561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 757561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_contains() throws Exception { 758561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.contains(testObjFour)); 759561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.contains(null)); 760561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 761561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjTwo)); 762561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 763561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 764561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjLast)); 765561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 766561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.contains(testObjOne)); 767561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.contains(testObjTwo)); 768561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.contains(testObjThree)); 769561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.contains(testObjLast)); 770561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.contains(null)); 771561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.clear(); 772561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.contains(testObjOne)); 773561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.contains(testObjTwo)); 774561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 775561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 776561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 777561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#remove(Object)} 778561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 779561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_remove_LObject() throws Exception { 780561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 781561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjTwo)); 782561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 783561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjThree)); 784561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.offerLast(testObjOne)); 785561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(5, testQue.size()); 786561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.remove(testObjOne)); 787561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.remove(testObjFour)); 788561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, testQue.peekFirst()); 789561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peekLast()); 790561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(4, testQue.size()); 791561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.remove(testObjOne)); 792561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(3, testQue.size()); 793561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peekLast()); 794561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.remove(testObjOne)); 795561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(2, testQue.size()); 796561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, testQue.peekLast()); 797561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(testQue.remove(testObjOne)); 798561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 799561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 800561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 801561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#clear()} 802561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 803561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_clear() throws Exception { 804561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.isEmpty()); 805561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.clear(); 806561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.isEmpty()); 807561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 808561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjTwo)); 809561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 810561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 811561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.clear(); 812561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.isEmpty()); 813561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 814561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 815561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 816561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#toArray()} 817561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 818561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_toArray() throws Exception { 819561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, testQue.toArray().length); 820561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 821561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjTwo)); 822561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 823561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 824561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjLast)); 825561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] result = testQue.toArray(); 826561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(5, testQue.size()); 827561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, result[0]); 828561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, result[1]); 829561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, result[2]); 830561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, result[3]); 831561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjLast, result[4]); 832561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // change in array do not affect ArrayDeque 833561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result[0] = null; 834561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(5, testQue.size()); 835561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 836561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 837561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 838561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 839561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#toArray(Object[])} 840561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 841561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_toArray_$LObject() throws Exception { 842561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] array = new Object[0]; 843561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object[] result = testQue.toArray(array); 844561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, result.length); 845561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(array, result); 846561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 847561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjTwo)); 848561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 849561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 850561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjLast)); 851561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result = testQue.toArray(array); 852561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(5, testQue.size()); 853561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(5, result.length); 854561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, array.length); 855561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(array == result); 856561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, result[0]); 857561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjTwo, result[1]); 858561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, result[2]); 859561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjThree, result[3]); 860561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjLast, result[4]); 861561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // change in array do not affect ArrayDeque 862561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes result[0] = null; 863561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(5, testQue.size()); 864561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testObjOne, testQue.peek()); 865561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 866561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testQue.toArray(null); 867561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 868561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 869561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 870561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 871561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 872561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 873561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 874561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 875561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests {@link java.util.ArrayDeque#clone()} 876561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 877561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_clone() throws Exception { 878561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ArrayDeque<Object> cloned = testQue.clone(); 879561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(0, cloned.size()); 880561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse(cloned == testQue); 881561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 882561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjTwo)); 883561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjOne)); 884561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjThree)); 885561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testObjLast)); 886561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(testQue)); 887561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cloned = testQue.clone(); 888561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(6, cloned.size()); 889561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes while (0 != testQue.size()) { 890561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(testQue.remove(), cloned.remove()); 891561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 892561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 893561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 894561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 895561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.ArrayDeque#Serialization() 896561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 897561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_serialization() throws Exception { 898561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(new Integer(1))); 899561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(new Integer(2))); 900561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(new Integer(3))); 901561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(new Integer(4))); 902561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(new Integer(5))); 903561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTest.verifySelf(testQue, new SerializableAssert() { 904561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void assertDeserialized(Serializable initial, 905561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Serializable deserialized) { 906561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ArrayDeque<Object> formerQue = (ArrayDeque)initial; 907561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ArrayDeque<Object> deserializedQue = (ArrayDeque)deserialized; 908561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(formerQue.remove(),deserializedQue.remove()); 909561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 910561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }); 911561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 912561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 913561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 914561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests serialization/deserialization compatibility with RI. 915561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 916561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes @SuppressWarnings( { "unchecked", "boxing" }) 917561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void testSerializationCompatibility() throws Exception { 918561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(new Integer(1))); 919561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(new Integer(2))); 920561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(new Integer(3))); 921561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(new Integer(4))); 922561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(testQue.add(new Integer(5))); 923561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes SerializationTest.verifyGolden(this,testQue, new SerializableAssert() { 924561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void assertDeserialized(Serializable initial, 925561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Serializable deserialized) { 926561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ArrayDeque<Object> formerQue = (ArrayDeque)initial; 927561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ArrayDeque<Object> deserializedQue = (ArrayDeque)deserialized; 928561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals(formerQue.remove(),deserializedQue.remove()); 929561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 930561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }); 931561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 932561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 933