public void testRemoveAll() { list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); HashSet set = new HashSet(); set.add("A"); set.add("2"); set.add("C"); set.add("4"); set.add("D"); assertTrue(list.removeAll(set)); assertEquals("[1, 3, 5]",list.toString()); assertTrue(!list.removeAll(set)); }
public void testContains() { assertTrue(!list.contains("A")); assertTrue(list.add("A")); assertTrue(list.contains("A")); assertTrue(list.add("B")); assertTrue(list.contains("A")); assertTrue(list.addFirst("a")); assertTrue(list.contains("A")); assertTrue(list.remove("a")); assertTrue(list.contains("A")); assertTrue(list.remove("A")); assertTrue(!list.contains("A")); }
public void testSubListAddEnd() { list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); List sublist = list.subList(5,5); sublist.add("F"); assertEquals("[A, B, C, D, E, F]",list.toString()); assertEquals("[F]",sublist.toString()); sublist.add("G"); assertEquals("[A, B, C, D, E, F, G]",list.toString()); assertEquals("[F, G]",sublist.toString()); }
public void testSubListAddBegin() { list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); List sublist = list.subList(0,0); sublist.add("a"); assertEquals("[a, A, B, C, D, E]",list.toString()); assertEquals("[a]",sublist.toString()); sublist.add("b"); assertEquals("[a, b, A, B, C, D, E]",list.toString()); assertEquals("[a, b]",sublist.toString()); }
public void testSubListAddMiddle() { list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); List sublist = list.subList(1,3); sublist.add("a"); assertEquals("[A, B, C, a, D, E]",list.toString()); assertEquals("[B, C, a]",sublist.toString()); sublist.add("b"); assertEquals("[A, B, C, a, b, D, E]",list.toString()); assertEquals("[B, C, a, b]",sublist.toString()); }
public void testLongSerialization() throws Exception { // recursive serialization will cause a stack // overflow exception with long lists for(int i=0;i<10000;i++) { list.add(new Integer(i)); } java.io.ByteArrayOutputStream buf = new java.io.ByteArrayOutputStream(); java.io.ObjectOutputStream out = new java.io.ObjectOutputStream(buf); out.writeObject(list); out.flush(); out.close(); java.io.ByteArrayInputStream bufin = new java.io.ByteArrayInputStream(buf.toByteArray()); java.io.ObjectInputStream in = new java.io.ObjectInputStream(bufin); Object list2 = in.readObject(); assertTrue(list != list2); assertTrue(list2.equals(list)); assertTrue(list.equals(list2)); }
public void testSubList() { list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); assertEquals("[A, B, C, D, E]",list.toString()); assertEquals("[A, B, C, D, E]",list.subList(0,5).toString()); assertEquals("[B, C, D, E]",list.subList(1,5).toString()); assertEquals("[C, D, E]",list.subList(2,5).toString()); assertEquals("[D, E]",list.subList(3,5).toString()); assertEquals("[E]",list.subList(4,5).toString()); assertEquals("[]",list.subList(5,5).toString()); }
public void testCursorNextIndexAddNext() { list.add("1"); list.add("2"); list.add("3"); list.add("5"); CursorableLinkedList.Cursor c1 = list.cursor(); assertEquals(0, c1.nextIndex()); list.add(0, "0"); assertEquals(0, c1.nextIndex()); assertEquals("0", c1.next()); assertEquals(1, c1.nextIndex()); assertEquals("1", c1.next()); }
public void testCursorNextIndexAddAfter() { list.add("1"); list.add("2"); list.add("3"); list.add("5"); CursorableLinkedList.Cursor c1 = list.cursor(); assertEquals(0, c1.nextIndex()); list.add(1, "0"); assertEquals(0, c1.nextIndex()); assertEquals("1", c1.next()); assertEquals(1, c1.nextIndex()); assertEquals("0", c1.next()); }
public void testCursorNextIndexMid() { list.add("1"); list.add("2"); list.add("3"); list.add("5"); CursorableLinkedList.Cursor c1 = list.cursor(); Iterator li = list.iterator(); // test cursors remain valid when list modified by std Iterator // test cursors skip elements removed via ListIterator assertEquals("1", li.next()); assertEquals("2", li.next()); li.remove(); assertEquals(0, c1.nextIndex()); assertEquals("1", c1.next()); assertEquals(1, c1.nextIndex()); assertEquals("3", c1.next()); }
public void testCursorNextIndexFirst() { list.add("1"); list.add("2"); list.add("3"); list.add("5"); CursorableLinkedList.Cursor c1 = list.cursor(); assertEquals(0, c1.nextIndex()); list.remove(0); assertEquals(0, c1.nextIndex()); assertEquals("2", c1.next()); assertEquals(1, c1.nextIndex()); assertEquals("3", c1.next()); }
public void testInternalState_CursorNextAddIndex1ByList() { list.add("A"); list.add("B"); list.add("C"); CursorableLinkedList.Cursor c1 = list.cursor(); assertEquals("A", c1.next()); list.add(1, "Z"); assertEquals(true, c1.nextIndexValid); assertEquals(1, c1.nextIndex); assertEquals("A", c1.current.value); assertEquals("Z", c1.next.value); assertEquals("[A, Z, B, C]", list.toString()); c1.remove(); // works ok assertEquals("[Z, B, C]", list.toString()); try { c1.remove(); fail(); } catch (IllegalStateException ex) {} }
public void testRemoveByIndex() { list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); assertEquals("[1, 2, 3, 4, 5]",list.toString()); assertEquals("1",list.remove(0)); assertEquals("[2, 3, 4, 5]",list.toString()); assertEquals("3",list.remove(1)); assertEquals("[2, 4, 5]",list.toString()); assertEquals("4",list.remove(1)); assertEquals("[2, 5]",list.toString()); assertEquals("5",list.remove(1)); assertEquals("[2]",list.toString()); assertEquals("2",list.remove(0)); assertEquals("[]",list.toString()); }
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) {} }
public void testInternalState_CursorNextNextRemoveByIterator() { list.add("A"); list.add("B"); list.add("C"); CursorableLinkedList.Cursor c1 = list.cursor(); assertEquals("A", c1.next()); assertEquals("B", c1.next()); c1.remove(); assertEquals(true, c1.nextIndexValid); assertEquals(1, c1.nextIndex); assertEquals(false, c1.currentRemovedByAnother); assertEquals(null, c1.current); assertEquals("C", c1.next.value); assertEquals("[A, C]", list.toString()); try { c1.remove(); fail(); } catch (IllegalStateException ex) {} }
public void testInternalState_CursorNextNextPreviousAddByIterator() { 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.add("Z"); assertEquals(true, c1.nextIndexValid); assertEquals(2, c1.nextIndex); assertEquals(null, c1.current); assertEquals("B", c1.next.value); assertEquals("[A, Z, B, C]", list.toString()); try { c1.remove(); fail(); } catch (IllegalStateException ex) {} }
public void testInternalState_CursorNextRemoveIndex1ByList() { list.add("A"); list.add("B"); list.add("C"); CursorableLinkedList.Cursor c1 = list.cursor(); assertEquals("A", c1.next()); assertEquals("B", list.remove(1)); assertEquals(true, c1.nextIndexValid); assertEquals(1, c1.nextIndex); assertEquals(false, c1.currentRemovedByAnother); assertEquals("A", c1.current.value); assertEquals("C", c1.next.value); assertEquals("[A, C]", list.toString()); c1.remove(); // works ok assertEquals("[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) {} }