tape: Test "n" sizes of integer types
This commit is contained in:
parent
3a88619f9b
commit
f4fb5e80b9
@ -21,10 +21,16 @@ func TestI8(test *testing.T) {
|
||||
if err.Error() != "decoding int8: wrong buffer length" { test.Fatal(err) }
|
||||
|
||||
for number := range uint8(255) {
|
||||
_, err := EncodeI8[uint8](buffer[:1], number)
|
||||
n, err := EncodeI8[uint8](buffer[:1], number)
|
||||
if err != nil { test.Fatal(err) }
|
||||
decoded, _, err := DecodeI8[uint8](buffer[:1])
|
||||
if correct, got := 1, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
decoded, n, err := DecodeI8[uint8](buffer[:1])
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 1, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if decoded != number {
|
||||
test.Fatalf("%d != %d", decoded, number)
|
||||
}
|
||||
@ -44,10 +50,16 @@ func TestI16(test *testing.T) {
|
||||
|
||||
for _ = range largeNumberNTestRounds {
|
||||
number := uint16(rand.Int())
|
||||
_, err := EncodeI16[uint16](buffer[:2], number)
|
||||
n, err := EncodeI16[uint16](buffer[:2], number)
|
||||
if err != nil { test.Fatal(err) }
|
||||
decoded, _, err := DecodeI16[uint16](buffer[:2])
|
||||
if correct, got := 2, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
decoded, n, err := DecodeI16[uint16](buffer[:2])
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 2, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if decoded != number {
|
||||
test.Fatalf("%d != %d", decoded, number)
|
||||
}
|
||||
@ -67,10 +79,16 @@ func TestI32(test *testing.T) {
|
||||
|
||||
for _ = range largeNumberNTestRounds {
|
||||
number := uint32(rand.Int())
|
||||
_, err := EncodeI32[uint32](buffer[:4], number)
|
||||
n, err := EncodeI32[uint32](buffer[:4], number)
|
||||
if err != nil { test.Fatal(err) }
|
||||
decoded, _, err := DecodeI32[uint32](buffer[:4])
|
||||
if correct, got := 4, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
decoded, n, err := DecodeI32[uint32](buffer[:4])
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 4, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if decoded != number {
|
||||
test.Fatalf("%d != %d", decoded, number)
|
||||
}
|
||||
@ -90,10 +108,16 @@ func TestI64(test *testing.T) {
|
||||
|
||||
for _ = range largeNumberNTestRounds {
|
||||
number := uint64(rand.Int())
|
||||
_, err := EncodeI64[uint64](buffer[:8], number)
|
||||
n, err := EncodeI64[uint64](buffer[:8], number)
|
||||
if err != nil { test.Fatal(err) }
|
||||
decoded, _, err := DecodeI64[uint64](buffer[:8])
|
||||
if correct, got := 8, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
decoded, n, err := DecodeI64[uint64](buffer[:8])
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 8, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if decoded != number {
|
||||
test.Fatalf("%d != %d", decoded, number)
|
||||
}
|
||||
@ -117,8 +141,11 @@ func TestGBEU(test *testing.T) {
|
||||
if err == nil { test.Fatal("no error") }
|
||||
if err.Error() != "decoding GBEU: GBEU not terminated" { test.Fatal(err) }
|
||||
|
||||
_, err = EncodeGBEU[uint64](buffer[:], 0x97)
|
||||
n, err := EncodeGBEU[uint64](buffer[:], 0x97)
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 2, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if correct, got := []byte { 0x81, 0x17 }, buffer[:2]; !slices.Equal(correct, got) {
|
||||
message := "not equal:"
|
||||
for _, item := range got {
|
||||
@ -126,14 +153,20 @@ func TestGBEU(test *testing.T) {
|
||||
}
|
||||
test.Fatal(message)
|
||||
}
|
||||
decoded, _, err := DecodeGBEU[uint64](buffer[:])
|
||||
decoded, n, err := DecodeGBEU[uint64](buffer[:])
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 2, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if correct, got := uint64(0x97), decoded; correct != got {
|
||||
test.Fatalf("not equal: %x", got)
|
||||
}
|
||||
|
||||
_, err = EncodeGBEU[uint64](buffer[:], 0x123456)
|
||||
n, err = EncodeGBEU[uint64](buffer[:], 0x123456)
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 3, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if correct, got := []byte { 0xc8, 0xe8, 0x56 }, buffer[:3]; !slices.Equal(correct, got) {
|
||||
message := "not equal:"
|
||||
for _, item := range got {
|
||||
@ -143,6 +176,9 @@ func TestGBEU(test *testing.T) {
|
||||
}
|
||||
decoded, _, err = DecodeGBEU[uint64](buffer[:])
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 3, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if correct, got := uint64(0x123456), decoded; correct != got {
|
||||
test.Fatalf("not equal: %x", got)
|
||||
}
|
||||
@ -150,6 +186,9 @@ func TestGBEU(test *testing.T) {
|
||||
maxGBEU64 := []byte { 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F }
|
||||
_, err = EncodeGBEU[uint64](buffer[:], 0xFFFFFFFFFFFFFFFF)
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 10, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if correct, got := maxGBEU64, buffer[:10]; !slices.Equal(correct, got) {
|
||||
message := "not equal:"
|
||||
for _, item := range got {
|
||||
@ -159,17 +198,26 @@ func TestGBEU(test *testing.T) {
|
||||
}
|
||||
decoded, _, err = DecodeGBEU[uint64](buffer[:])
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 10, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if correct, got := uint64(0xFFFFFFFFFFFFFFFF), decoded; correct != got {
|
||||
test.Fatalf("not equal: %x", got)
|
||||
}
|
||||
|
||||
_, err = EncodeGBEU[uint64](buffer[:], 11)
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 1, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if correct, got := byte(0xb), buffer[0]; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
decoded, _, err = DecodeGBEU[uint64](buffer[:])
|
||||
if err != nil { test.Fatal(err) }
|
||||
if correct, got := 1, n; correct != got {
|
||||
test.Fatal("not equal:", got)
|
||||
}
|
||||
if correct, got := uint64(0xb), decoded; correct != got {
|
||||
test.Fatalf("not equal: %x", got)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user