Big refactor
This commit is contained in:
72
pkg/chunk/stack_test.go
Normal file
72
pkg/chunk/stack_test.go
Normal file
@@ -0,0 +1,72 @@
|
||||
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)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user