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  }