mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-04 16:50:57 +00:00
45 lines
989 B
Go
45 lines
989 B
Go
// Copyright 2014 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// +build linux freebsd
|
|
|
|
package rand
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
)
|
|
|
|
func TestBatched(t *testing.T) {
|
|
fillBatched := batched(func(p []byte) bool {
|
|
for i := range p {
|
|
p[i] = byte(i)
|
|
}
|
|
return true
|
|
}, 5)
|
|
|
|
p := make([]byte, 13)
|
|
if !fillBatched(p) {
|
|
t.Fatal("batched function returned false")
|
|
}
|
|
expected := []byte{0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2}
|
|
if !bytes.Equal(expected, p) {
|
|
t.Errorf("incorrect batch result: got %x, want %x", p, expected)
|
|
}
|
|
}
|
|
|
|
func TestBatchedError(t *testing.T) {
|
|
b := batched(func(p []byte) bool { return false }, 5)
|
|
if b(make([]byte, 13)) {
|
|
t.Fatal("batched function should have returned false")
|
|
}
|
|
}
|
|
|
|
func TestBatchedEmpty(t *testing.T) {
|
|
b := batched(func(p []byte) bool { return false }, 5)
|
|
if !b(make([]byte, 0)) {
|
|
t.Fatal("empty slice should always return true")
|
|
}
|
|
}
|