1 | module datatypes |
2 | |
3 | fn test_is_empty() { |
4 | mut queue := Queue[int]{} |
5 | assert queue.is_empty() == true |
6 | queue.push(1) |
7 | assert queue.is_empty() == false |
8 | } |
9 | |
10 | fn test_len() { |
11 | mut queue := Queue[int]{} |
12 | assert queue.len() == 0 |
13 | queue.push(1) |
14 | assert queue.len() == 1 |
15 | queue.pop()! |
16 | assert queue.len() == 0 |
17 | } |
18 | |
19 | fn test_peek() { |
20 | mut queue := Queue[int]{} |
21 | queue.push(1) |
22 | assert queue.peek()! == 1 |
23 | queue.push(2) |
24 | assert queue.peek()! == 1 |
25 | queue = Queue[int]{} |
26 | queue.peek() or { return } |
27 | assert false |
28 | } |
29 | |
30 | fn test_last() { |
31 | mut queue := Queue[int]{} |
32 | queue.push(1) |
33 | assert queue.last()! == 1 |
34 | queue.push(2) |
35 | assert queue.last()! == 2 |
36 | queue = Queue[int]{} |
37 | queue.last() or { return } |
38 | assert false |
39 | } |
40 | |
41 | fn test_index() { |
42 | mut queue := Queue[int]{} |
43 | queue.push(1) |
44 | assert queue.index(0)! == 1 |
45 | queue.push(2) |
46 | assert queue.index(1)! == 2 |
47 | queue.pop()! |
48 | queue.index(1) or { return } |
49 | assert false |
50 | } |
51 | |
52 | fn test_push() { |
53 | mut queue := Queue[int]{} |
54 | queue.push(1) |
55 | queue.push(2) |
56 | assert queue.peek()! == 1 |
57 | } |
58 | |
59 | fn test_pop() { |
60 | mut queue := Queue[int]{} |
61 | queue.push(1) |
62 | queue.push(2) |
63 | queue.push(3) |
64 | assert queue.pop()! == 1 |
65 | queue.push(4) |
66 | assert queue.pop()! == 2 |
67 | assert queue.pop()! == 3 |
68 | queue = Queue[int]{} |
69 | queue.pop() or { return } |
70 | assert false |
71 | } |
72 | |
73 | fn test_array() { |
74 | mut queue := Queue[int]{} |
75 | queue.push(1) |
76 | queue.push(2) |
77 | assert queue.array() == [1, 2] |
78 | } |