1package magna
2
3import (
4 "testing"
5)
6
7func TestU8(t *testing.T) {
8 buf := []byte{
9 0x01,
10 }
11
12 actual, offset, err := getU8(buf, 0)
13 assert_eq(t, uint8(1), actual)
14 assert_eq(t, 1, offset)
15 assert_no_error(t, err)
16
17 actual, offset, err = getU8(buf, 1)
18 assert_eq(t, uint8(0), actual)
19 assert_eq(t, 1, offset)
20 assert_error(t, err)
21}
22
23func TestU16(t *testing.T) {
24 buf := []byte{
25 0x00, 0x01,
26 }
27
28 actual, offset, err := getU16(buf, 0)
29 assert_eq(t, uint16(1), actual)
30 assert_eq(t, 2, offset)
31 assert_no_error(t, err)
32
33 actual, offset, err = getU16(buf, 1)
34 assert_eq(t, uint16(0), actual)
35 assert_eq(t, 2, offset)
36 assert_error(t, err)
37}
38
39func TestU32(t *testing.T) {
40 buf := []byte{
41 0x00, 0x00, 0x00, 0x01,
42 }
43
44 actual, offset, err := getU32(buf, 0)
45 assert_eq(t, uint32(1), actual)
46 assert_eq(t, 4, offset)
47 assert_no_error(t, err)
48
49 actual, offset, err = getU32(buf, 1)
50 assert_eq(t, uint32(0), actual)
51 assert_eq(t, 4, offset)
52 assert_error(t, err)
53}
54
55func TestSlice(t *testing.T) {
56 buf := []byte{
57 0x62, 0x6c, 0x75,
58 }
59
60 actual, offset, err := getSlice(buf, 0, 3)
61 assert_eq(t, "blu", string(actual))
62 assert_eq(t, 3, offset)
63 assert_no_error(t, err)
64
65 actual, offset, err = getSlice(buf, 0, 4)
66 assert_eq(t, "", string(actual))
67 assert_eq(t, 3, offset)
68 assert_error(t, err)
69}