1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* Licensed to the Apache Software Foundation (ASF) under one or more 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 7f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 16ab762bb740405d0fefcccf4a0899a234f995be13Narayan Kamathpackage org.apache.harmony.tests.java.util; 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.AbstractQueue; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.ArrayList; 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Arrays; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Collection; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Iterator; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.List; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.NoSuchElementException; 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Vector; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class AbstractQueueTest extends TestCase { 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private MockAbstractQueue<Object> queue; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private class MockAbstractQueue<E> extends AbstractQueue<E> { 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project static final int CAPACITY = 10; 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private int size = 0; 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private Object[] elements = new Object[CAPACITY]; 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Iterator<E> iterator() { 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return new Iterator<E>() { 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private int currentIndex = -1; 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean hasNext() { 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return size > 0 && currentIndex < size; 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public E next() { 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!hasNext()) { 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new NoSuchElementException(); 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project currentIndex++; 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return (E) elements[currentIndex]; 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void remove() { 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (-1 == currentIndex) { 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new IllegalStateException(); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = currentIndex; i < size - 1; i++) { 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project elements[i] = elements[i + 1]; 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project size--; 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project }; 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int size() { 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return size; 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean offer(E o) { 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (null == o) { 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new NullPointerException(); 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (size >= CAPACITY) { 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return false; 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project elements[size++] = o; 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return true; 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public E poll() { 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (isEmpty()) { 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project E e = (E) elements[0]; 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < size - 1; i++) { 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project elements[i] = elements[i + 1]; 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project size--; 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return e; 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public E peek() { 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (isEmpty()) { 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return (E) elements[0]; 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 109229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue.add(E) 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_addLE_null() { 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.add(null); 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("should throw NullPointerException"); 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 121229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue.add(E) 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_addLE_Full() { 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object o = new Object(); 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for(int i = 0; i < MockAbstractQueue.CAPACITY; i++ ) { 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.add(o); 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.add(o); 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("should throw IllegalStateException"); 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 139229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#add(E) 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_addLE() { 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Object o = new Object(); 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project final int LAST_INDEX = 4; 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < LAST_INDEX; i++) { 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.add(o); 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Integer I = new Integer(123456); 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.add(I); 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(queue.contains(I)); 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Iterator iter = queue.iterator(); 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < LAST_INDEX; i++) { 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project iter.next(); 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(I == iter.next()); 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 158229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#addAll(E) 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_addAllLE_null() { 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.addAll(null); 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("should throw NullPointerException"); 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 170229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#addAll(E) 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_addAllLE_with_null() { 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List list = Arrays.asList("MYTESTSTRING", null, new Float(123.456)); 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.addAll(list); 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("should throw NullPointerException"); 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NullPointerException e) { 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 183229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#addAll(E) 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_addAllLE_full() { 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11); 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.addAll(list); 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("should throw IllegalStateException"); 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 196229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#addAll(E) 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_addAllLE_empty() { 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Regression test for HARMONY-1178 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List list = new ArrayList<Object>(0); 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse("Non modification to queue should return false", queue.addAll(list)); 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 205229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#addAll(E) 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_addAllLE_this() { 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.addAll(queue); 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("should throw IllegalArgumentException "); 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 215f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_addAllLjava_lang_Object() { 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Collection c = new Vector(); 218f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(0); 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(1); 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(2); 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(3); 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(4); 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c.add(5); 225f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(queue.addAll(c)); 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(6, queue.size()); 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 231229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#clear() 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_clear_empty() { 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.clear(); 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(queue.isEmpty()); 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(queue.peek()); 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 240229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#clear() 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_clear() { 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project List list = Arrays.asList(123.456, "MYTESTSTRING", new Object(), 'c'); 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.addAll(list); 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.clear(); 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(queue.isEmpty()); 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(queue.peek()); 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 251229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#AbstractQueue() 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_Constructor() { 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project MockAbstractQueue queue = new MockAbstractQueue(); 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull(queue); 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 259229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#remove() 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_remove_null() { 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.remove(); 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("should throw NoSuchElementException"); 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchElementException e) { 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 272229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#remove() 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_remove() { 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project char c = 'a'; 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.add(c); 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project c = 'b'; 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.add(c); 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals('a', queue.remove()); 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals('b', queue.remove()); 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.remove(); 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("should throw NoSuchElementException"); 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchElementException e) { 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 290229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#element() 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_element_empty() { 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.element(); 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("should throw NoSuchElementException"); 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchElementException e) { 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // expected 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 302229e34b182b98e1dba15d3dc6341954986ae2b7aBrian Carlstrom * java.util.AbstractQueue#element() 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void test_element() { 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String s = "MYTESTSTRING_ONE"; 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.add(s); 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project s = "MYTESTSTRING_TWO"; 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue.add(s); 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("MYTESTSTRING_ONE", queue.element()); 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // still the first element 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("MYTESTSTRING_ONE", queue.element()); 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void setUp() throws Exception { 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.setUp(); 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue = new MockAbstractQueue<Object>(); 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void tearDown() throws Exception { 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.tearDown(); 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project queue = null; 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 324