v/vlib/datatypes/stack_test.v

53 lines
950 B
V
Raw Normal View History

2021-12-26 15:01:36 +01:00
import datatypes as dt
fn test_is_empty() {
2021-12-26 15:01:36 +01:00
mut stack := dt.Stack<int>{}
assert stack.is_empty() == true
stack.push(1)
assert stack.is_empty() == false
}
fn test_len() ? {
2021-12-26 15:01:36 +01:00
mut stack := dt.Stack<int>{}
assert stack.len() == 0
stack.push(1)
assert stack.len() == 1
stack.pop()?
assert stack.len() == 0
}
fn test_peek() ? {
2021-12-26 15:01:36 +01:00
mut stack := dt.Stack<int>{}
stack.push(1)
assert stack.peek()? == 1
stack.push(2)
assert stack.peek()? == 2
2021-12-26 15:01:36 +01:00
stack = dt.Stack<int>{}
stack.peek() or { return }
assert false
}
fn test_push() ? {
2021-12-26 15:01:36 +01:00
mut stack := dt.Stack<int>{}
stack.push(1)
assert stack.peek()? == 1
stack.push(2)
assert stack.peek()? == 2
stack.push(3)
assert stack.peek()? == 3
}
fn test_pop() ? {
2021-12-26 15:01:36 +01:00
mut stack := dt.Stack<int>{}
stack.push(1)
stack.push(2)
stack.push(3)
assert stack.pop()? == 3
stack.push(4)
assert stack.pop()? == 4
assert stack.pop()? == 2
2021-12-26 15:01:36 +01:00
stack = dt.Stack<int>{}
stack.pop() or { return }
assert false
}