all repos

scratch @ cafea31

⭐ me doing recreational ~~drugs~~ programming

scratch/algos/stack_test.go (view raw)

1
package algos
2
3
import "testing"
4
5
func TestStack(t *testing.T) {
6
	s := Stack[int]{}
7
8
	s.Push(5)
9
	s.Push(7)
10
	s.Push(9)
11
12
	v, ok := s.Pop()
13
	is(t, ok, true)
14
	is(t, v, 9)
15
16
	is(t, s.Len, 2)
17
18
	s.Push(11)
19
20
	v, ok = s.Pop()
21
	is(t, ok, true)
22
	is(t, v, 11)
23
24
	v, ok = s.Pop()
25
	is(t, ok, true)
26
	is(t, v, 7)
27
28
	is(t, s.Peek(), 5)
29
30
	v, ok = s.Pop()
31
	is(t, ok, true)
32
	is(t, v, 5)
33
34
	_, ok = s.Pop()
35
	is(t, ok, false)
36
37
	s.Push(69420)
38
	is(t, s.Peek(), 69420)
39
40
	v, ok = s.Pop()
41
	is(t, ok, true)
42
	is(t, v, 69420)
43
}