1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00
MiraiGo/binary/jce/writer_test.go
wdvxdr fd9a6657fa
drop dep jsoniter&reflect2.
for smaller binary size.
2021-08-25 16:16:08 +08:00

60 lines
1.2 KiB
Go

package jce
import (
"testing"
"github.com/stretchr/testify/assert"
)
var globalBytes []byte
func BenchmarkJceWriter_WriteMap(b *testing.B) {
var x = globalBytes
for i := 0; i < b.N; i++ {
w := NewJceWriter()
w.WriteMap(req.Map, 0)
x = w.Bytes()
}
globalBytes = x
b.SetBytes(int64(len(globalBytes)))
}
var reqPacket1 = &RequestPacket{
IVersion: 1,
CPacketType: 114,
IMessageType: 514,
IRequestId: 1919,
SServantName: "田所",
SFuncName: "浩二",
SBuffer: []byte{1, 1, 4, 5, 1, 4, 1, 9, 1, 9, 8, 1, 0},
ITimeout: 810,
Context: map[string]string{
"114": "514",
"1919": "810",
},
Status: map[string]string{
"野兽": "前辈",
"田所": "浩二",
},
}
func BenchmarkJceWriter_WriteJceStructRaw(b *testing.B) {
var x = globalBytes
for i := 0; i < b.N; i++ {
w := NewJceWriter()
w.WriteJceStructRaw(reqPacket1)
x = w.Bytes()
}
globalBytes = x
b.SetBytes(int64(len(globalBytes)))
}
func TestJceWriter_WriteJceStructRaw(t *testing.T) {
w := NewJceWriter()
w.WriteJceStructRaw(reqPacket1)
r := NewJceReader(w.Bytes())
var reqPacket2 RequestPacket
reqPacket2.ReadFrom(r)
assert.Equal(t, reqPacket1, &reqPacket2)
}