init
This commit is contained in:
62
net/packet/packet_test.go
Normal file
62
net/packet/packet_test.go
Normal file
@ -0,0 +1,62 @@
|
||||
package packet
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
)
|
||||
|
||||
var VarInts = []VarInt{0, 1, 2, 127, 128, 255, 2147483647, -1, -2147483648}
|
||||
|
||||
var PackedVarInts = [][]byte{
|
||||
[]byte{0x00},
|
||||
[]byte{0x01},
|
||||
[]byte{0x02},
|
||||
[]byte{0x7f},
|
||||
[]byte{0x80, 0x01},
|
||||
[]byte{0xff, 0x01},
|
||||
[]byte{0xff, 0xff, 0xff, 0xff, 0x07},
|
||||
[]byte{0xff, 0xff, 0xff, 0xff, 0x0f},
|
||||
[]byte{0x80, 0x80, 0x80, 0x80, 0x08},
|
||||
}
|
||||
|
||||
func TestPackInt(t *testing.T) {
|
||||
for i, v := range VarInts {
|
||||
p := v.Encode()
|
||||
if !bytes.Equal(p, PackedVarInts[i]) {
|
||||
t.Errorf("pack int %d should be \"% x\", get \"% x\"", v, PackedVarInts[i], p)
|
||||
}
|
||||
}
|
||||
}
|
||||
func TestUnpackInt(t *testing.T) {
|
||||
for i, v := range PackedVarInts {
|
||||
var vi VarInt
|
||||
if err := vi.Decode(bytes.NewReader(v)); err != nil {
|
||||
t.Errorf("unpack \"% x\" error: %v", v, err)
|
||||
}
|
||||
if vi != VarInts[i] {
|
||||
t.Errorf("unpack \"% x\" should be %d, get %d", v, VarInts[i], vi)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestPositionPack(t *testing.T) {
|
||||
// x (-33554432 to 33554431), y (-2048 to 2047), z (-33554432 to 33554431)
|
||||
|
||||
for x := -33554432; x < 33554432; x += 55443 {
|
||||
for y := -2048; y < 2048; y += 48 {
|
||||
for z := -33554432; z < 33554432; z += 55443 {
|
||||
var (
|
||||
pos1 Position
|
||||
pos2 = Position{x, y, z}
|
||||
)
|
||||
if err := pos1.Decode(bytes.NewReader(pos2.Encode())); err != nil {
|
||||
t.Errorf("Position decode fail: %v", err)
|
||||
}
|
||||
|
||||
if pos1 != pos2 {
|
||||
t.Errorf("cannot pack %v", pos2)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user