1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-06-18 22:17:44 +02:00

Add debug/buffer package as a simple ring buffer

This commit is contained in:
Asim Aslam
2019-11-26 14:20:45 +00:00
parent 12d9c5b187
commit 8ee31a63f1
2 changed files with 110 additions and 0 deletions

View File

@ -0,0 +1,52 @@
package buffer
import (
"testing"
)
func TestBuffer(t *testing.T) {
b := New(10)
// test one value
b.Put("foo")
v := b.Get(1)
if val := v[0].(string); val != "foo" {
t.Fatalf("expected foo got %v", val)
}
b = New(10)
// test 10 values
for i := 0; i < 10; i++ {
b.Put(i)
}
v = b.Get(10)
for i := 0; i < 10; i++ {
val := v[i].(int)
if val != i {
t.Fatalf("expected %d got %d", i, val)
}
}
// test more values
for i := 0; i < 10; i++ {
v := i * 2
b.Put(v)
}
v = b.Get(10)
for i := 0; i < 10; i++ {
val := v[i].(int)
expect := i * 2
if val != expect {
t.Fatalf("expected %d got %d", expect, val)
}
}
}