public void testInternalState_CursorNextNextPreviousSetByIterator() { list.add("A"); list.add("B"); list.add("C"); CursorableLinkedList.Cursor c1 = list.cursor(); assertEquals("A", c1.next()); assertEquals("B", c1.next()); assertEquals("B", c1.previous()); c1.set("Z"); assertEquals(true, c1.nextIndexValid); assertEquals(1, c1.nextIndex); assertEquals("Z", c1.current.value); assertEquals("Z", c1.next.value); assertEquals("[A, Z, C]", list.toString()); c1.remove(); // works ok assertEquals("[A, C]", list.toString()); try { c1.remove(); fail(); } catch (IllegalStateException ex) {} }
public void testInternalState_CursorNextNextSetByIterator() { list.add("A"); list.add("B"); list.add("C"); CursorableLinkedList.Cursor c1 = list.cursor(); assertEquals("A", c1.next()); assertEquals("B", c1.next()); c1.set("Z"); assertEquals(true, c1.nextIndexValid); assertEquals(2, c1.nextIndex); assertEquals("Z", c1.current.value); assertEquals("C", c1.next.value); assertEquals("[A, Z, C]", list.toString()); c1.remove(); // works ok assertEquals("[A, C]", list.toString()); try { c1.remove(); fail(); } catch (IllegalStateException ex) {} }
public void testCursorSet() { list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); CursorableLinkedList.Cursor it = list.cursor(); assertEquals("1",it.next()); it.set("a"); assertEquals("a",it.previous()); it.set("A"); assertEquals("A",it.next()); assertEquals("2",it.next()); it.set("B"); assertEquals("3",it.next()); assertEquals("4",it.next()); it.set("D"); assertEquals("5",it.next()); it.set("E"); assertEquals("[A, B, 3, D, E]",list.toString()); it.close(); }
public void testInternalState_CursorNextNextRemoveByListSetByIterator() { list.add("A"); list.add("B"); list.add("C"); CursorableLinkedList.Cursor c1 = list.cursor(); assertEquals("A", c1.next()); assertEquals("B", c1.next()); list.remove(1); assertEquals(true, c1.nextIndexValid); assertEquals(1, c1.nextIndex); assertEquals(null, c1.current); assertEquals("C", c1.next.value); assertEquals("[A, C]", list.toString()); try { c1.set("Z"); fail(); } catch (IllegalStateException ex) {} }