aboutsummaryrefslogtreecommitdiff
path: root/weed/util/bytes_test.go
blob: 4e6b3f2945091f669a1e5f0db808bd1ac0e72a13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package util

import (
	"reflect"
	"testing"
)

// go test github.com/chrislusf/seaweedfs/weed/util -run '^(TestAll)$' -v

func TestAll(t *testing.T) {
	for i := 0; i <= 0xff; i += 7 {
		assertU16(t, uint16(i))
	}
	for i := 0; i <= 0xffff; i += 211 {
		assertU32(t, uint32(i))
	}
	for i := 0; i <= 0xffffffff; i += 1000000007 {
		assertU64(t, uint64(i))
	}
}

func assertU16(t *testing.T, i uint16) {
	var buf1, buf2 [2]byte
	Uint16toBytesOld(buf1[:], i)
	Uint16toBytes(buf2[:], i)
	if !reflect.DeepEqual(buf1, buf2) {
		t.Errorf("i: %d, buf1: %v, buf2: %v\n", i, buf1, buf2)
	}
	v1 := BytesToUint16Old(buf1[:])
	v2 := BytesToUint16(buf2[:])
	if v1 != v2 {
		t.Errorf("buf1: %v, v1: %d, buf2: %v, v2: %d\n", buf1, v1, buf2, v2)
	}
}

func assertU32(t *testing.T, i uint32) {
	var buf1, buf2 [4]byte
	Uint32toBytesOld(buf1[:], i)
	Uint32toBytes(buf2[:], i)
	if !reflect.DeepEqual(buf1, buf2) {
		t.Errorf("i: %d, buf1: %v, buf2: %v\n", i, buf1, buf2)
	}
	v1 := BytesToUint32Old(buf1[:])
	v2 := BytesToUint32(buf2[:])
	if v1 != v2 {
		t.Errorf("buf1: %v, v1: %d, buf2: %v, v2: %d\n", buf1, v1, buf2, v2)
	}
}

func assertU64(t *testing.T, i uint64) {
	var buf1, buf2 [8]byte
	Uint64toBytesOld(buf1[:], i)
	Uint64toBytes(buf2[:], i)
	if !reflect.DeepEqual(buf1, buf2) {
		t.Errorf("i: %d, buf1: %v, buf2: %v\n", i, buf1, buf2)
	}
	v1 := BytesToUint64Old(buf1[:])
	v2 := BytesToUint64(buf2[:])
	if v1 != v2 {
		t.Errorf("buf1: %v, v1: %d, buf2: %v, v2: %d\n", buf1, v1, buf2, v2)
	}
}