1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * you may not use this file except in compliance with the License. 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * You may obtain a copy of the License at 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 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 */ 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 17789c3a2e66efcf45c5b1c3cfd457dda7ce4f4ad8Jesse Wilsonpackage libcore.java.util; 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.LinkedList; 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.ListIterator; 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.NoSuchElementException; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 25789c3a2e66efcf45c5b1c3cfd457dda7ce4f4ad8Jesse Wilsonpublic class OldListIteratorTest extends TestCase { 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ListIterator<Integer> l = null; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project static Object[] objArray; 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project { 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project objArray = new Object[100]; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < objArray.length; i++) 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project objArray[i] = new Integer(i); 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testHasNext() { 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < objArray.length; i++) { 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(l.hasNext()); 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.next(); 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse(l.hasNext()); 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testNext() { 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < objArray.length; i++) { 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(objArray[i].equals(l.next())); 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 48f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.next(); 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NoSuchElementException expected"); 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchElementException e) { 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project class Mock_ListIterator implements ListIterator { 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void add(Object o) { 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(((String) o).equals("Wrong element")) throw new IllegalArgumentException(); 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(o.getClass() == Double.class) throw new ClassCastException(); 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new UnsupportedOperationException(); 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean hasNext() { 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return false; 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean hasPrevious() { 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return false; 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Object next() { 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int nextIndex() { 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return 0; 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Object previous() { 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int previousIndex() { 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return 0; 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void remove() { 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new UnsupportedOperationException(); 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void set(Object o) { 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(((String) o).equals("Wrong element")) throw new IllegalArgumentException(); 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if(o.getClass() == Double.class) throw new ClassCastException(); 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throw new UnsupportedOperationException(); 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testRemove() { 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.remove(); 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalStateException expected"); 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < objArray.length; i++) { 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.next(); 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.remove(); 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse(l.hasPrevious()); 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.remove(); 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalStateException expected"); 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Mock_ListIterator ml = new Mock_ListIterator(); 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ml.remove(); 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("UnsupportedOperationException expected"); 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnsupportedOperationException e) { 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testHasPrevious() { 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertFalse(l.hasPrevious()); 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < objArray.length; i++) { 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.next(); 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(l.hasPrevious()); 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testPrevious() { 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.previous(); 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NoSuchElementException expected"); 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchElementException e) { 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project while(l.hasNext()) { 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.next(); 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = objArray.length - 1; i > -1 ; i--) { 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(objArray[i].equals(l.previous())); 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.previous(); 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("NoSuchElementException expected"); 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (NoSuchElementException e) { 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testNextIndex() { 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < objArray.length; i++) { 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(objArray[i].equals(l.nextIndex())); 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.next(); 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testPreviousIndex() { 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < objArray.length; i++) { 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue(objArray[i].equals(l.previousIndex() + 1)); 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.next(); 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testSet() { 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.set(new Integer(1)); 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalStateException expected"); 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < objArray.length; i++) { 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.next(); 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.set((Integer)objArray[objArray.length - i - 1]); 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 185f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.remove(); 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.set(new Integer(1)); 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalStateException expected"); 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalStateException e) { 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 193f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Mock_ListIterator ml = new Mock_ListIterator(); 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ml.next(); 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ml.set("Wrong element"); 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ml.set(new Double("3.14")); 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("ClassCastException expected"); 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ml.set(""); 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("UnsupportedOperationException expected"); 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnsupportedOperationException e) { 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testAdd() { 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l.add(new Integer(33)); 220f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Mock_ListIterator ml = new Mock_ListIterator(); 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ml.next(); 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ml.add("Wrong element"); 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IllegalArgumentException expected"); 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ml.add(new Double("3.14")); 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("ClassCastException expected"); 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (ClassCastException e) { 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ml.add(""); 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("UnsupportedOperationException expected"); 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (UnsupportedOperationException e) { 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project //expected 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected void setUp() throws Exception { 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super.setUp(); 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project LinkedList ll = new LinkedList(); 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < objArray.length; i++) { 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ll.add(objArray[i]); 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project l = ll.listIterator(); 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 254