status-go/vendor/gopkg.in/sourcemap.v1/base64vlq/base64_vlq_test.go

64 lines
1011 B
Go

package base64vlq_test
import (
"bytes"
"testing"
"gopkg.in/sourcemap.v1/base64vlq"
)
func TestEncodeDecode(t *testing.T) {
buf := &bytes.Buffer{}
enc := base64vlq.NewEncoder(buf)
dec := base64vlq.NewDecoder(buf)
for n := -1000; n < 1000; n++ {
if err := enc.Encode(n); err != nil {
panic(err)
}
}
for n := -1000; n < 1000; n++ {
nn, err := dec.Decode()
if err != nil {
panic(err)
}
if nn != n {
t.Errorf("%d != %d", nn, n)
}
}
}
func BenchmarkEncode(b *testing.B) {
b.StopTimer()
buf := &bytes.Buffer{}
enc := base64vlq.NewEncoder(buf)
b.StartTimer()
for i := 0; i < b.N; i++ {
if err := enc.Encode(10); err != nil {
panic(err)
}
}
}
func BenchmarkEncodeDecode(b *testing.B) {
b.StopTimer()
buf := &bytes.Buffer{}
enc := base64vlq.NewEncoder(buf)
dec := base64vlq.NewDecoder(buf)
b.StartTimer()
for i := 0; i < b.N; i++ {
if err := enc.Encode(10); err != nil {
panic(err)
}
_, err := dec.Decode()
if err != nil {
panic(err)
}
}
}