45 lines
570 B
Go
45 lines
570 B
Go
|
package main
|
||
|
|
||
|
import "testing"
|
||
|
|
||
|
func TestStackPop(t *testing.T) {
|
||
|
s := Stack{
|
||
|
values: []int{1, 2, 3},
|
||
|
}
|
||
|
i, err := s.Pop()
|
||
|
if err != nil {
|
||
|
t.Log(err.Error())
|
||
|
t.Fail()
|
||
|
}
|
||
|
if i != 1 {
|
||
|
t.Fail()
|
||
|
}
|
||
|
if len(s.values) != 2 {
|
||
|
t.Fail()
|
||
|
}
|
||
|
s = Stack{
|
||
|
values: []int{},
|
||
|
}
|
||
|
i, err = s.Pop()
|
||
|
if err == nil {
|
||
|
t.Log("expected error")
|
||
|
t.Fail()
|
||
|
}
|
||
|
if i != 0 {
|
||
|
t.Fail()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestStackPush(t *testing.T) {
|
||
|
s := Stack{
|
||
|
values: []int{1, 2, 3},
|
||
|
}
|
||
|
s.Push(4)
|
||
|
if len(s.values) != 4 {
|
||
|
t.Fail()
|
||
|
}
|
||
|
if s.values[0] != 4 || s.values[1] != 1 {
|
||
|
t.Fail()
|
||
|
}
|
||
|
}
|