5import static org.junit.Assert.*;
11 assertTrue(list.
empty());
17 assertEquals(list.
size(),0);
18 for (
int i=0;i<10;++i) {
20 assertEquals(list.
size(),i+1);
27 for (
int i=0;i<10;++i) {
29 assertEquals(list.
front().intValue(),i);
32 for (
int i=0;i<10;++i) {
33 assertTrue(list.
at(i)==n-1-i);
51 assertTrue(list.
at(i)==i+1);
54 assertTrue(list.
size()==8);
55 assertTrue(list.
front()==2);
56 assertTrue(list.
at(0)==2);
59 assertTrue(list.
size()==7);
60 assertTrue(list.
back()==8);
61 assertTrue(list.
at(list.
size()-1)==8);
63 assertTrue(list.
at(2)==4);
65 assertTrue(list.
size()==6);
66 assertTrue(list.
at(2)==5);
68 while (!list.
empty()) {
73 assertTrue(list.
empty());
76 assertTrue(list.
front().intValue()==1);
79 @Test(expected=IndexOutOfBoundsException.class)
86 @Test(expected=IndexOutOfBoundsException.class)
92 @Test(expected=IndexOutOfBoundsException.class)
98 @Test(expected=IndexOutOfBoundsException.class)
105 @Test(expected=IndexOutOfBoundsException.class)
110 @Test(expected=IndexOutOfBoundsException.class)
119 for (
int i=0;i<5;++i)
125 for (
int i=0;i<5;++i) {
126 assertTrue(ii.hasNext());
127 n=ii.next().intValue();
130 assertFalse(ii.hasNext());
133 for (Integer item : list) {
134 assertTrue(n==item.intValue());
140 assertTrue(n==item.intValue());
146 list.insert_after(ii,-2);
147 assertTrue(ii.hasNext());
149 assertTrue(ii.hasNext());
151 assertTrue(ii.hasNext());
154 assertTrue(ii.hasNext());
157 assertTrue(ii.hasNext());
160 assertTrue(ii.hasNext());
164 for (
int i=4;i>=1;--i) {
165 assertTrue(jj.hasNext());
166 n=jj.next().intValue();
171 public static void main(String args[]) {
175 org.junit.runner.JUnitCore.main(
"aud.test.DListTest");
Implementation of a doubly linked list.
void pop_front()
erase first entry (must exist) [O(1)]
T back()
retrieve last entry (must exist) [O(1)]
int size()
determine number of entries [O(n)]
void erase(int i)
erase entry at position i [O(n)]
void push_front(T obj)
insert entry at front of list [O(1)]
void push_back(T obj)
append entry obj at end of list [O(1)]
T at(int i)
retrieve i-th entry [O(n)]
void pop_back()
erase last entry (must exist) [O(1)]
BackwardIterator reverse_iterator()
get backward iterator iterator
T front()
retrieve first entry (must exist) [O(1)]
Backwards backwards()
Get instance that provides a BackwardIterator.
ForwardIterator iterator()
get forward iterator
void insert(int i, T obj)
insert new entry obj at position i [O(n)]
boolean empty()
determine if list is empty [O(1)]
void insert_before(ForwardIterator i, T object)
insert entry before iterator position
void testInvalid_pop_back()
void testInvalid_pop_front()
static void main(String args[])
AuD lecture: Data structures, algorithms, examples.