github.com/Mrs4s/MiraiGo@v0.0.0-20240226124653-54bdd873e3fe/binary/jce/writer_test.go (about) 1 package jce 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 var globalBytes []byte 10 11 func BenchmarkJceWriter_WriteMap(b *testing.B) { 12 x := globalBytes 13 for i := 0; i < b.N; i++ { 14 w := NewJceWriter() 15 w.writeMapStrMapStrBytes(req.Map, 0) 16 x = w.Bytes() 17 } 18 globalBytes = x 19 b.SetBytes(int64(len(globalBytes))) 20 } 21 22 var reqPacket1 = &RequestPacket{ 23 IVersion: 1, 24 CPacketType: 114, 25 IMessageType: 514, 26 IRequestId: 1919, 27 SServantName: "田所", 28 SFuncName: "浩二", 29 SBuffer: []byte{1, 1, 4, 5, 1, 4, 1, 9, 1, 9, 8, 1, 0}, 30 ITimeout: 810, 31 Context: map[string]string{ 32 "114": "514", 33 "1919": "810", 34 }, 35 Status: map[string]string{ 36 "野兽": "前辈", 37 "田所": "浩二", 38 }, 39 } 40 41 func BenchmarkJceWriter_WriteJceStructRaw(b *testing.B) { 42 x := globalBytes 43 for i := 0; i < b.N; i++ { 44 _ = reqPacket1.ToBytes() 45 } 46 globalBytes = x 47 b.SetBytes(int64(len(globalBytes))) 48 } 49 50 func TestJceWriter_WriteJceStructRaw(t *testing.T) { 51 r := NewJceReader(reqPacket1.ToBytes()) 52 var reqPacket2 RequestPacket 53 reqPacket2.ReadFrom(r) 54 assert.Equal(t, reqPacket1, &reqPacket2) 55 }