Author: j16sdiz
Date: 2008-09-07 11:29:43 +0000 (Sun, 07 Sep 2008)
New Revision: 22516
Modified:
trunk/freenet/test/freenet/support/DoublyLinkedListImplTest.java
Log:
better test case
Modified: trunk/freenet/test/freenet/support/DoublyLinkedListImplTest.java
===================================================================
--- trunk/freenet/test/freenet/support/DoublyLinkedListImplTest.java
2008-09-07 11:14:51 UTC (rev 22515)
+++ trunk/freenet/test/freenet/support/DoublyLinkedListImplTest.java
2008-09-07 11:29:43 UTC (rev 22516)
@@ -151,7 +151,7 @@
tc.assertIsClone();
}
}
-
+
public void testShiftN() {
DoublyLinkedList<T> list = new DoublyLinkedListImpl<T>();
@@ -167,12 +167,15 @@
assertEquals("list.size()", 3, list.size());
((T) list.shift()).assertV(2);
-
- list2 = list.shift(2);
+
+ list2 = list.shift(20);
assertTrue("list.isEmpty()", list.isEmpty());
((T) list2.shift()).assertV(3);
((T) list2.shift()).assertV(4);
assertTrue("list2.isEmpty()", list2.isEmpty());
+
+ list2 = list.shift(20);
+ assertTrue("list2.isEmpty()", list2.isEmpty());
}
public void testPopN() {
@@ -190,20 +193,23 @@
assertEquals("list.size()", 3, list.size());
((T) list.pop()).assertV(2);
-
- list2 = list.pop(2);
+
+ list2 = list.pop(20);
assertTrue("list.isEmpty()", list.isEmpty());
((T) list2.pop()).assertV(3);
((T) list2.pop()).assertV(4);
assertTrue("list2.isEmpty()", list2.isEmpty());
+
+ list2 = list.pop(20);
+ assertTrue("list2.isEmpty()", list2.isEmpty());
}
-
+
public void testHeadTail() {
DoublyLinkedList<T> list = new DoublyLinkedListImpl<T>();
-
+
assertNull("head() == null", list.head());
assertNull("tail() == null", list.tail());
-
+
T[] array = new T[5];
for (int i = 0; i < 5; i++) {
array[i] = new T(i);
@@ -226,7 +232,7 @@
assertNull("head() == null", list.head());
assertNull("tail() == null", list.tail());
}
-
+
public void testIternator() {
DoublyLinkedList<T> list = new DoublyLinkedListImpl<T>();
T[] array = new T[5];
@@ -279,4 +285,42 @@
} catch (NoSuchElementException nsee) {
}
}
+
+ public void testRandomRemovePush() {
+ DoublyLinkedList<T> list = new DoublyLinkedListImpl<T>();
+ T[] array = new T[5];
+
+ for (int i = 0; i < 5; i++) {
+ array[i] = new T(i);
+ list.push(array[i]);
+ }
+
+ assertEquals(list.remove(array[3]), array[3]);
+ list.push(array[3]);
+
+ assertNull(list.remove(new T(-1)));
+
+ ((T) list.shift()).assertV(0);
+ ((T) list.shift()).assertV(1);
+ ((T) list.shift()).assertV(2);
+ ((T) list.shift()).assertV(4);
+ ((T) list.shift()).assertV(3);
+ }
+
+ public void testRandomShiftPush() {
+ DoublyLinkedList<T> list = new DoublyLinkedListImpl<T>();
+ list.push(new T(0));
+ list.push(new T(1));
+ list.unshift(new T(2));
+ list.push(new T(3));
+ list.unshift(new T(4));
+ list.unshift(new T(5));
+
+ ((T) list.shift()).assertV(5);
+ ((T) list.pop()).assertV(3);
+ ((T) list.pop()).assertV(1);
+ ((T) list.pop()).assertV(0);
+ ((T) list.shift()).assertV(4);
+ ((T) list.shift()).assertV(2);
+ }
}