AuD
Lecture 'Algorithmen und Datenstrukturen' (code examples)
QueueTest.java
Go to the documentation of this file.
1package aud.test;
2
3import aud.Queue;
4import aud.QueueDL;
6
7import java.util.NoSuchElementException;
8
9import org.junit.*;
10import static org.junit.Assert.*;
11
12public class QueueTest {
13
14 @Test
15 public void testQueue() {
17 testQueue(queue);
18 }
19 @Test
20 public void testQueueDL() {
22 testQueue(queue);
23 }
24
26 assertTrue(queue.is_empty());
27 queue.enqueue(1);
28 assertFalse(queue.is_empty());
29 assertTrue(queue.front().intValue()==1);
30
31 assertTrue(queue.dequeue()==1);
32 assertTrue(queue.is_empty());
33
34 queue.enqueue(1);
35 queue.enqueue(2);
36 queue.enqueue(3);
37 assertTrue(queue.dequeue()==1);
38 assertTrue(queue.dequeue()==2);
39 assertTrue(queue.dequeue()==3);
40 assertTrue(queue.is_empty());
41
42 for (int i=0;i<10;++i)
43 queue.enqueue(i);
44 queue.enqueue(-1);
45 for (int i=0;i<100;++i)
46 queue.enqueue(i);
47 queue.enqueue(-1);
48
49 int n;
50 for (int i=0;((n=queue.dequeue())!=-1);++i)
51 assertTrue(n==i);
52
53 for (int i=0;i<100;++i)
54 queue.enqueue(i);
55 queue.enqueue(-1);
56
57 for (int i=0;((n=queue.dequeue())!=-1);++i)
58 assertTrue(n==i);
59 for (int i=0;((n=queue.dequeue())!=-1);++i)
60 assertTrue(n==i);
61
62 assertTrue(queue.is_empty());
63 }
64
65 @Test(expected=NoSuchElementException.class)
66 public void testInvalid_front() {
68 queue.front();
69 }
70 @Test(expected=NoSuchElementException.class)
71 public void testInvalid_dequeue() {
73 queue.dequeue();
74 }
75 @Test(expected=NoSuchElementException.class)
76 public void testInvalid_frontDL() {
78 queue.front();
79 }
80 @Test(expected=NoSuchElementException.class)
81 public void testInvalid_dequeueDL() {
83 queue.dequeue();
84 }
85
86 public static void main(String args[]) {
87 org.junit.runner.JUnitCore.main("aud.test.QueueTest");
88 }
89}
Impementation of AbstractQueue based on doubly linked list DList.
Definition: QueueDL.java:11
T front()
Get front element of queue.
Definition: QueueDL.java:22
T dequeue()
Remove front element from queue.
Definition: QueueDL.java:30
Implementation of AbstractQueue as a (dynamically resized) circular buffer based on array.
Definition: Queue.java:11
T dequeue()
Remove front element from queue.
Definition: Queue.java:50
T front()
Get front element of queue.
Definition: Queue.java:42
Interface for an ADT queue.
abstract boolean is_empty()
Is queue empty?
abstract void enqueue(T x)
Enqueue element at end of queue.
abstract T front()
Get front element of queue.
abstract T dequeue()
Remove front element from queue.
void testInvalid_dequeue()
Definition: QueueTest.java:71
void testInvalid_dequeueDL()
Definition: QueueTest.java:81
void testInvalid_frontDL()
Definition: QueueTest.java:76
void testInvalid_front()
Definition: QueueTest.java:66
static void main(String args[])
Definition: QueueTest.java:86
abstract data types
AuD lecture: Data structures, algorithms, examples.