📄 testcursorablelinkedlist.java
字号:
assertTrue(list3.equals(list2));
assertEquals(list2.hashCode(),list3.hashCode());
list.add("B");
assertTrue(list.equals(list));
assertTrue(!list.equals(list2));
assertTrue(!list2.equals(list));
assertTrue(!list.equals(list3));
assertTrue(!list3.equals(list));
list2.add("B");
list3.add("B");
assertTrue(list.equals(list));
assertTrue(list.equals(list2));
assertTrue(list2.equals(list));
assertTrue(list2.equals(list3));
assertTrue(list3.equals(list2));
assertEquals(list2.hashCode(),list3.hashCode());
list.add("C");
list2.add("C");
list3.add("C");
assertTrue(list.equals(list));
assertTrue(list.equals(list2));
assertTrue(list2.equals(list));
assertTrue(list2.equals(list3));
assertTrue(list3.equals(list2));
assertEquals(list.hashCode(),list2.hashCode());
assertEquals(list2.hashCode(),list3.hashCode());
list.add("D");
list2.addFirst("D");
assertTrue(list.equals(list));
assertTrue(!list.equals(list2));
assertTrue(!list2.equals(list));
}
public void testGet() {
try {
list.get(0);
fail("shouldn't get here");
} catch(IndexOutOfBoundsException e) {
// expected
}
assertTrue(list.add("A"));
assertEquals("A",list.get(0));
assertTrue(list.add("B"));
assertEquals("A",list.get(0));
assertEquals("B",list.get(1));
try {
list.get(-1);
fail("shouldn't get here");
} catch(IndexOutOfBoundsException e) {
// expected
}
try {
list.get(2);
fail("shouldn't get here");
} catch(IndexOutOfBoundsException e) {
// expected
}
}
public void testIndexOf() {
assertEquals(-1,list.indexOf("A"));
assertEquals(-1,list.lastIndexOf("A"));
list.add("A");
assertEquals(0,list.indexOf("A"));
assertEquals(0,list.lastIndexOf("A"));
assertEquals(-1,list.indexOf("B"));
assertEquals(-1,list.lastIndexOf("B"));
list.add("B");
assertEquals(0,list.indexOf("A"));
assertEquals(0,list.lastIndexOf("A"));
assertEquals(1,list.indexOf("B"));
assertEquals(1,list.lastIndexOf("B"));
list.addFirst("B");
assertEquals(1,list.indexOf("A"));
assertEquals(1,list.lastIndexOf("A"));
assertEquals(0,list.indexOf("B"));
assertEquals(2,list.lastIndexOf("B"));
}
public void testIsEmpty() {
assertTrue(list.isEmpty());
list.add("element");
assertTrue(!list.isEmpty());
list.remove("element");
assertTrue(list.isEmpty());
list.add("element");
assertTrue(!list.isEmpty());
list.clear();
assertTrue(list.isEmpty());
}
public void testIterator() {
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
Iterator it = list.iterator();
assertTrue(it.hasNext());
assertEquals("1",it.next());
assertTrue(it.hasNext());
assertEquals("2",it.next());
assertTrue(it.hasNext());
assertEquals("3",it.next());
assertTrue(it.hasNext());
assertEquals("4",it.next());
assertTrue(it.hasNext());
assertEquals("5",it.next());
assertTrue(!it.hasNext());
it = list.iterator();
assertTrue(it.hasNext());
assertEquals("1",it.next());
it.remove();
assertEquals("[2, 3, 4, 5]",list.toString());
assertTrue(it.hasNext());
assertEquals("2",it.next());
it.remove();
assertEquals("[3, 4, 5]",list.toString());
assertTrue(it.hasNext());
assertEquals("3",it.next());
it.remove();
assertEquals("[4, 5]",list.toString());
assertTrue(it.hasNext());
assertEquals("4",it.next());
it.remove();
assertEquals("[5]",list.toString());
assertTrue(it.hasNext());
assertEquals("5",it.next());
it.remove();
assertEquals("[]",list.toString());
assertTrue(!it.hasNext());
}
public void testListIteratorNavigation() {
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
ListIterator it = list.listIterator();
assertTrue(it.hasNext());
assertTrue(!it.hasPrevious());
assertEquals(-1,it.previousIndex());
assertEquals(0,it.nextIndex());
assertEquals("1",it.next());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(0,it.previousIndex());
assertEquals(1,it.nextIndex());
assertEquals("1",it.previous());
assertTrue(it.hasNext());
assertTrue(!it.hasPrevious());
assertEquals(-1,it.previousIndex());
assertEquals(0,it.nextIndex());
assertEquals("1",it.next());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(0,it.previousIndex());
assertEquals(1,it.nextIndex());
assertEquals("2",it.next());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(1,it.previousIndex());
assertEquals(2,it.nextIndex());
assertEquals("2",it.previous());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(0,it.previousIndex());
assertEquals(1,it.nextIndex());
assertEquals("2",it.next());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(1,it.previousIndex());
assertEquals(2,it.nextIndex());
assertEquals("3",it.next());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(2,it.previousIndex());
assertEquals(3,it.nextIndex());
assertEquals("4",it.next());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(3,it.previousIndex());
assertEquals(4,it.nextIndex());
assertEquals("5",it.next());
assertTrue(!it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(4,it.previousIndex());
assertEquals(5,it.nextIndex());
assertEquals("5",it.previous());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(3,it.previousIndex());
assertEquals(4,it.nextIndex());
assertEquals("4",it.previous());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(2,it.previousIndex());
assertEquals(3,it.nextIndex());
assertEquals("3",it.previous());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(1,it.previousIndex());
assertEquals(2,it.nextIndex());
assertEquals("2",it.previous());
assertTrue(it.hasNext());
assertTrue(it.hasPrevious());
assertEquals(0,it.previousIndex());
assertEquals(1,it.nextIndex());
assertEquals("1",it.previous());
assertTrue(it.hasNext());
assertTrue(!it.hasPrevious());
assertEquals(-1,it.previousIndex());
assertEquals(0,it.nextIndex());
}
public void testListIteratorSet() {
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
ListIterator it = list.listIterator();
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());
}
public void testListIteratorRemove() {
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
ListIterator it = list.listIterator();
try {
it.remove();
} catch(IllegalStateException e) {
// expected
}
assertEquals("1",it.next());
assertEquals("2",it.next());
assertEquals("[1, 2, 3, 4, 5]",list.toString());
it.remove();
assertEquals("[1, 3, 4, 5]",list.toString());
assertEquals("3",it.next());
assertEquals("3",it.previous());
assertEquals("1",it.previous());
it.remove();
assertEquals("[3, 4, 5]",list.toString());
assertTrue(!it.hasPrevious());
assertEquals("3",it.next());
it.remove();
assertEquals("[4, 5]",list.toString());
try {
it.remove();
} catch(IllegalStateException e) {
// expected
}
assertEquals("4",it.next());
assertEquals("5",it.next());
it.remove();
assertEquals("[4]",list.toString());
assertEquals("4",it.previous());
it.remove();
assertEquals("[]",list.toString());
}
public void testListIteratorAdd() {
ListIterator it = list.listIterator();
it.add("1");
assertEquals("[1]",list.toString());
it.add("3");
assertEquals("[1, 3]",list.toString());
it.add("5");
assertEquals("[1, 3, 5]",list.toString());
assertEquals("5",it.previous());
it.add("4");
assertEquals("[1, 3, 4, 5]",list.toString());
assertEquals("4",it.previous());
assertEquals("3",it.previous());
it.add("2");
assertEquals("[1, 2, 3, 4, 5]",list.toString());
}
public void testRemoveAll() {
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -