Move test and bench functions to single global variable.
This commit is contained in:
parent
7707ff9660
commit
6289413a60
@ -58,26 +58,22 @@ func (vs Vec3Slice) IsNil() bool {
|
||||
return vs == nil
|
||||
}
|
||||
|
||||
func TestVec3ToJSON(t *testing.T) {
|
||||
vecs := []Vec3{
|
||||
{X: 1.0, Y: 2.0, Z: 3.0},
|
||||
{X: 4.5, Y: 5.0, Z: 6.0},
|
||||
}
|
||||
|
||||
for _, ts := range []struct {
|
||||
type testFunc struct {
|
||||
name string
|
||||
f func([]Vec3) ([]byte, error)
|
||||
}{
|
||||
}
|
||||
|
||||
var encodeFuncs = []testFunc{
|
||||
{"HandRolled", HandRolled},
|
||||
{"stdlib", func(vs []Vec3) ([]byte, error) {
|
||||
return json.Marshal(vs)
|
||||
}},
|
||||
{"ffjson", func(vs []Vec3) ([]byte, error) {
|
||||
return ffjson.Marshal(vecs)
|
||||
return ffjson.Marshal(vs)
|
||||
}},
|
||||
{"iterator", func(vs []Vec3) ([]byte, error) {
|
||||
var js = jsoniter.ConfigCompatibleWithStandardLibrary
|
||||
return js.Marshal(vecs)
|
||||
return js.Marshal(vs)
|
||||
}},
|
||||
{"gojay", func(vs []Vec3) ([]byte, error) {
|
||||
var vecs Vec3Slice
|
||||
@ -88,7 +84,15 @@ func TestVec3ToJSON(t *testing.T) {
|
||||
|
||||
return gojay.Marshal(&vecs)
|
||||
}},
|
||||
} {
|
||||
}
|
||||
|
||||
func TestVec3ToJSON(t *testing.T) {
|
||||
vecs := []Vec3{
|
||||
{X: 1.0, Y: 2.0, Z: 3.0},
|
||||
{X: 4.5, Y: 5.0, Z: 6.0},
|
||||
}
|
||||
|
||||
for _, ts := range encodeFuncs {
|
||||
t.Run(ts.name, func(t *testing.T) {
|
||||
got, err := ts.f(vecs)
|
||||
if err != nil {
|
||||
@ -111,31 +115,7 @@ func BenchmarkVec3ToJSON(b *testing.B) {
|
||||
Z: 255. * float32(i) / 1000.,
|
||||
})
|
||||
}
|
||||
for _, ts := range []struct {
|
||||
name string
|
||||
f func([]Vec3) ([]byte, error)
|
||||
}{
|
||||
{"HandRolled", HandRolled},
|
||||
{"stdlib", func(vs []Vec3) ([]byte, error) {
|
||||
return json.Marshal(vs)
|
||||
}},
|
||||
{"ffjson", func(vs []Vec3) ([]byte, error) {
|
||||
return ffjson.Marshal(vecs)
|
||||
}},
|
||||
{"iterator", func(vs []Vec3) ([]byte, error) {
|
||||
var js = jsoniter.ConfigCompatibleWithStandardLibrary
|
||||
return js.Marshal(vecs)
|
||||
}},
|
||||
{"gojay", func(vs []Vec3) ([]byte, error) {
|
||||
var vecs Vec3Slice
|
||||
for _, v := range vs {
|
||||
v := v
|
||||
vecs = append(vecs, &v)
|
||||
}
|
||||
|
||||
return gojay.Marshal(&vecs)
|
||||
}},
|
||||
} {
|
||||
for _, ts := range encodeFuncs {
|
||||
b.Run(ts.name, func(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
if _, err := ts.f(vecs); err != nil {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user