73 lines
1012 B
Go
73 lines
1012 B
Go
package chunk
|
|
|
|
import "testing"
|
|
|
|
func TestOOB(t *testing.T) {
|
|
stack := NewStack(1)
|
|
|
|
item := stack.Push(1)
|
|
stack.Touch(item)
|
|
}
|
|
|
|
func TestAddToStack(t *testing.T) {
|
|
stack := NewStack(1)
|
|
|
|
item1 := stack.Push(1)
|
|
item2 := stack.Push(2)
|
|
item3 := stack.Push(3)
|
|
item4 := stack.Push(4)
|
|
|
|
stack.Touch(item1)
|
|
stack.Touch(item3)
|
|
|
|
stack.Purge(item2)
|
|
stack.Purge(item4)
|
|
|
|
v := stack.Pop()
|
|
if v != 4 {
|
|
t.Fatalf("Expected 4 got %v", v)
|
|
}
|
|
|
|
v = stack.Pop()
|
|
if v != 2 {
|
|
t.Fatalf("Expected 2 got %v", v)
|
|
}
|
|
|
|
v = stack.Pop()
|
|
if v != 1 {
|
|
t.Fatalf("Expected 1 got %v", v)
|
|
}
|
|
|
|
v = stack.Pop()
|
|
if v != 3 {
|
|
t.Fatalf("Expected 3 got %v", v)
|
|
}
|
|
|
|
v = stack.Pop()
|
|
if v != -1 {
|
|
t.Fatalf("Expected -1 got %v", v)
|
|
}
|
|
}
|
|
|
|
func TestLen(t *testing.T) {
|
|
stack := NewStack(1)
|
|
|
|
v := stack.Len()
|
|
if v != 0 {
|
|
t.Fatalf("Expected 0 got %v", v)
|
|
}
|
|
|
|
stack.Push(1)
|
|
v = stack.Len()
|
|
if v != 1 {
|
|
t.Fatalf("Expected 1 got %v", v)
|
|
}
|
|
|
|
_ = stack.Pop()
|
|
v = stack.Len()
|
|
if v != 0 {
|
|
t.Fatalf("Expected 0 got %v", v)
|
|
}
|
|
|
|
}
|