1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/* Licensed to the Apache Software Foundation (ASF) under one or more 2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * contributor license agreements. See the NOTICE file distributed with 3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * this work for additional information regarding copyright ownership. 4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (the "License"); you may not use this file except in compliance with 6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * the License. You may obtain a copy of the License at 7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Unless required by applicable law or agreed to in writing, software 11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * See the License for the specific language governing permissions and 14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * limitations under the License. 15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.luni.tests.java.util; 17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.AbstractQueue; 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.ArrayList; 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Arrays; 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Iterator; 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.List; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.NoSuchElementException; 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport junit.framework.TestCase; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class AbstractQueueTest extends TestCase { 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private MockAbstractQueue<Object> queue; 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private class MockAbstractQueue<E> extends AbstractQueue<E> { 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes static final int CAPACITY = 10; 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private int size = 0; 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private Object[] elements = new Object[CAPACITY]; 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public Iterator<E> iterator() { 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return new Iterator<E>() { 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private int currentIndex = -1; 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public boolean hasNext() { 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return size > 0 && currentIndex < size; 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public E next() { 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (!hasNext()) { 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new NoSuchElementException(); 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes currentIndex++; 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return (E) elements[currentIndex]; 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void remove() { 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (-1 == currentIndex) { 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new IllegalStateException(); 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = currentIndex; i < size - 1; i++) { 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes elements[i] = elements[i + 1]; 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes size--; 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public int size() { 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return size; 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public boolean offer(E o) { 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (null == o) { 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throw new NullPointerException(); 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (size >= CAPACITY) { 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return false; 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes elements[size++] = o; 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return true; 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public E poll() { 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (isEmpty()) { 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes E e = (E) elements[0]; 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < size - 1; i++) { 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes elements[i] = elements[i + 1]; 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes size--; 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return e; 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public E peek() { 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (isEmpty()) { 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return null; 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return (E) elements[0]; 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue.add(E) 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addLE_null() { 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.add(null); 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue.add(E) 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addLE_Full() { 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object o = new Object(); 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for(int i = 0; i < MockAbstractQueue.CAPACITY; i++ ) { 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.add(o); 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.add(o); 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalStateException"); 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalStateException e) { 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes //expected 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#add(E) 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addLE() { 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Object o = new Object(); 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes final int LAST_INDEX = 4; 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < LAST_INDEX; i++) { 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.add(o); 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Integer I = new Integer(123456); 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.add(I); 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(queue.contains(I)); 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes Iterator iter = queue.iterator(); 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes for (int i = 0; i < LAST_INDEX; i++) { 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes iter.next(); 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(I == iter.next()); 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#addAll(E) 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addAllLE_null() { 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.addAll(null); 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#addAll(E) 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addAllLE_with_null() { 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List list = Arrays.asList("MYTESTSTRING", null, new Float(123.456)); 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.addAll(list); 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NullPointerException"); 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#addAll(E) 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addAllLE_full() { 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11); 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.addAll(list); 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalStateException"); 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalStateException e) { 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#addAll(E) 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addAllLE_empty() { 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression test for HARMONY-1178 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List list = new ArrayList<Object>(0); 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertFalse("Non modification to queue should return false", queue.addAll(list)); 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#addAll(E) 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_addAllLE_this() { 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.addAll(queue); 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw IllegalArgumentException "); 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (IllegalArgumentException e) { 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#clear() 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_clear_empty() { 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.clear(); 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(queue.isEmpty()); 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull(queue.peek()); 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#clear() 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_clear() { 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes List list = Arrays.asList(123.456, "MYTESTSTRING", new Object(), 'c'); 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.addAll(list); 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.clear(); 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(queue.isEmpty()); 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNull(queue.peek()); 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#AbstractQueue() 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_Constructor() { 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes MockAbstractQueue queue = new MockAbstractQueue(); 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(queue); 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#remove() 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_remove_null() { 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.remove(); 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException"); 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#remove() 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_remove() { 259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes char c = 'a'; 260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.add(c); 261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes c = 'b'; 262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.add(c); 263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals('a', queue.remove()); 264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals('b', queue.remove()); 265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.remove(); 267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException"); 268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#element() 275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_element_empty() { 277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.element(); 279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("should throw NoSuchElementException"); 280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NoSuchElementException e) { 281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // expected 282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @tests java.util.AbstractQueue#element() 287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public void test_element() { 289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes String s = "MYTESTSTRING_ONE"; 290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.add(s); 291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes s = "MYTESTSTRING_TWO"; 292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue.add(s); 293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("MYTESTSTRING_ONE", queue.element()); 294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // still the first element 295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertEquals("MYTESTSTRING_ONE", queue.element()); 296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void setUp() throws Exception { 299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes super.setUp(); 300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue = new MockAbstractQueue<Object>(); 301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes protected void tearDown() throws Exception { 304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes super.tearDown(); 305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes queue = null; 306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 308