| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package network
- import (
- "bytes"
- "encoding/binary"
- "testing"
- )
- const (
- byteValue byte = 1
- uint8Value uint8 = 5
- uint16Value uint16 = 6
- uint32Value uint32 = 7
- uint64Value uint64 = 8
- strValue = "91011"
- )
- var (
- bytesValue = []byte{2, 3, 4}
- )
- func TestDataReader(t *testing.T) {
- buffer := &bytes.Buffer{}
- err := binary.Write(buffer, binary.BigEndian, byteValue)
- if err != nil {
- t.Fatal(err)
- }
- err = binary.Write(buffer, binary.BigEndian, bytesValue)
- if err != nil {
- t.Fatal(err)
- }
- err = binary.Write(buffer, binary.BigEndian, uint8Value)
- if err != nil {
- t.Fatal(err)
- }
- err = binary.Write(buffer, binary.BigEndian, uint16Value)
- if err != nil {
- t.Fatal(err)
- }
- err = binary.Write(buffer, binary.BigEndian, uint32Value)
- if err != nil {
- t.Fatal(err)
- }
- err = binary.Write(buffer, binary.BigEndian, uint64Value)
- if err != nil {
- t.Fatal(err)
- }
- err = binary.Write(buffer, binary.BigEndian, []byte(strValue))
- if err != nil {
- t.Fatal(err)
- }
- reader := NewDataReader(buffer)
- retByteValue, err := reader.Byte()
- if err != nil {
- t.Fatal(err)
- }
- if retByteValue != byteValue {
- t.Fatal("byte不正确", err.Error())
- }
- retBytesValue, err := reader.Bytes(len(bytesValue))
- if err != nil {
- t.Fatal(err)
- }
- if len(retBytesValue) != len(bytesValue) {
- t.Fatal("bytes长度不正确")
- }
- for i := 0; i < len(retBytesValue); i++ {
- if retBytesValue[i] != bytesValue[i] {
- t.Fatal("bytes不正确")
- }
- }
- retUint8Value, err := reader.Uint8()
- if err != nil {
- t.Fatal(err)
- }
- if retUint8Value != uint8Value {
- t.Fatal("uint8不正确", err.Error())
- }
- retUint16Value, err := reader.Uint16()
- if err != nil {
- t.Fatal(err)
- }
- if retUint16Value != uint16Value {
- t.Fatal("uint16不正确", err.Error())
- }
- retUint32Value, err := reader.Uint32()
- if err != nil {
- t.Fatal(err)
- }
- if retUint32Value != uint32Value {
- t.Fatal("uint32不正确", err.Error())
- }
- retUint64Value, err := reader.Uint64()
- if err != nil {
- t.Fatal(err)
- }
- if retUint64Value != uint64Value {
- t.Fatal("uint64不正确", err.Error())
- }
- retStringValue, err := reader.String(len(strValue))
- if err != nil {
- t.Fatal(err)
- }
- if retStringValue != strValue {
- t.Fatal("uint64不正确", err.Error())
- }
- }
|