1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/datatypes/queue_test.v

79 lines
1.3 KiB
V

module datatypes
fn test_is_empty() {
mut queue := Queue[int]{}
assert queue.is_empty() == true
queue.push(1)
assert queue.is_empty() == false
}
fn test_len() {
mut queue := Queue[int]{}
assert queue.len() == 0
queue.push(1)
assert queue.len() == 1
queue.pop()!
assert queue.len() == 0
}
fn test_peek() {
mut queue := Queue[int]{}
queue.push(1)
assert queue.peek()! == 1
queue.push(2)
assert queue.peek()! == 1
queue = Queue[int]{}
queue.peek() or { return }
assert false
}
fn test_last() {
mut queue := Queue[int]{}
queue.push(1)
assert queue.last()! == 1
queue.push(2)
assert queue.last()! == 2
queue = Queue[int]{}
queue.last() or { return }
assert false
}
fn test_index() {
mut queue := Queue[int]{}
queue.push(1)
assert queue.index(0)! == 1
queue.push(2)
assert queue.index(1)! == 2
queue.pop()!
queue.index(1) or { return }
assert false
}
fn test_push() {
mut queue := Queue[int]{}
queue.push(1)
queue.push(2)
assert queue.peek()! == 1
}
fn test_pop() {
mut queue := Queue[int]{}
queue.push(1)
queue.push(2)
queue.push(3)
assert queue.pop()! == 1
queue.push(4)
assert queue.pop()! == 2
assert queue.pop()! == 3
queue = Queue[int]{}
queue.pop() or { return }
assert false
}
fn test_array() {
mut queue := Queue[int]{}
queue.push(1)
queue.push(2)
assert queue.array() == [1, 2]
}