- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathArrayQueueTest.java
More file actions
Latest commit
131 lines (108 loc) · 2.9 KB
/
Copy pathArrayQueueTest.java
File metadata and controls
131 lines (108 loc) · 2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
packageorg.cct;
importstaticorg.junit.Assert.*;
importjava.util.NoSuchElementException;
importorg.junit.Before;
importorg.junit.Test;
/**
* Created by taioyui on 26/02/17.
*/
publicclassArrayQueueTest {
/**
* object being tested
*/
ArrayQueuearrayQueue;
/**
* method setUp executes before every test method
* initialises arrayQueue object
*/
@Before
publicvoidsetUp() {
arrayQueue = newArrayQueue();
}
/**
* 1. Push 10 Integers into Queue
* 2. Assert that the size equals 10
*/
@Test
publicvoidtestDefaultConstructor() throwsException {
for (inti = 0; i < 10; i++) {
arrayQueue.enqueue(100 + i);
}
assertEquals(10, arrayQueue.size());
}
/**
* 1. Call method isEmpty on empty Queue
* 2. Assert that result is True
* 3. Enqueue Integer into Queue
* 4. Call isEmpty again
* 5. Assert that result is false
*/
@Test
publicvoidtestQueueIsEmpty() throwsException {
booleanresult = arrayQueue.isEmpty();
assertTrue(result);
arrayQueue.enqueue(1);
result = arrayQueue.isEmpty();
assertFalse(result);
}
/**
* 1. Push two Integers into Queue
* 2. Assert size of array equals 2
* 3. Call method dequeue and check that the first element returns
* 4. Assert that the size equals 1
* 5. Assert that next call of dequeue method returns last element
* 6. Assert that the Queue is empty
*/
@Test
publicvoidtestDequeueAndSize() throwsException {
intfirst = 123;
intlast = 321;
arrayQueue.enqueue(first);
arrayQueue.enqueue(last);
assertEquals(2, arrayQueue.size());
assertEquals(first, arrayQueue.dequeue());
assertEquals(1, arrayQueue.size());
assertEquals(last, arrayQueue.dequeue());
assertTrue(arrayQueue.isEmpty());
}
/**
* 1. Create Queue with size 2. Assert isFull returns False
* 2. Push two Integers into Queue
* 3. Call method isFull
* 4. Assert result is True
*/
@Test
publicvoidtestQueueIsFull() throwsException {
arrayQueue = newArrayQueue(2);
assertFalse(arrayQueue.isFull());
arrayQueue.enqueue(123);
arrayQueue.enqueue(321);
assertTrue(arrayQueue.isFull());
}
/**
* 1. Push Integer into Queue
* 2. Look at the data at the head of the Queue
* 3. Assert data is the same
*/
@Test
publicvoidtestPeek() throwsException {
intdata = 123;
arrayQueue.enqueue(data);
intresult = arrayQueue.peek();
assertEquals(data, result);
}
@Test(expected = IndexOutOfBoundsException.class)
publicvoidtestQueueCapacity() throwsException {
for (inti = 0; i < 11; i++) {
arrayQueue.enqueue(100 + i);
}
}
@Test(expected = NoSuchElementException.class)
publicvoidtestDequeueEmpty() throwsException {
arrayQueue.dequeue();
}
@Test(expected = NoSuchElementException.class)
publicvoidtestPeekEmpty() throwsException {
arrayQueue.peek();
}
}