1
2
3
4
5
6
7 package util
8
9 import (
10 "testing"
11 )
12
13 var hashTests = []struct {
14 data []byte
15 seed uint32
16 hash uint32
17 }{
18 {nil, 0xbc9f1d34, 0xbc9f1d34},
19 {[]byte{0x62}, 0xbc9f1d34, 0xef1345c4},
20 {[]byte{0xc3, 0x97}, 0xbc9f1d34, 0x5b663814},
21 {[]byte{0xe2, 0x99, 0xa5}, 0xbc9f1d34, 0x323c078f},
22 {[]byte{0xe1, 0x80, 0xb9, 0x32}, 0xbc9f1d34, 0xed21633a},
23 {[]byte{
24 0x01, 0xc0, 0x00, 0x00,
25 0x00, 0x00, 0x00, 0x00,
26 0x00, 0x00, 0x00, 0x00,
27 0x00, 0x00, 0x00, 0x00,
28 0x14, 0x00, 0x00, 0x00,
29 0x00, 0x00, 0x04, 0x00,
30 0x00, 0x00, 0x00, 0x14,
31 0x00, 0x00, 0x00, 0x18,
32 0x28, 0x00, 0x00, 0x00,
33 0x00, 0x00, 0x00, 0x00,
34 0x02, 0x00, 0x00, 0x00,
35 0x00, 0x00, 0x00, 0x00,
36 }, 0x12345678, 0xf333dabb},
37 }
38
39 func TestHash(t *testing.T) {
40 for i, x := range hashTests {
41 h := Hash(x.data, x.seed)
42 if h != x.hash {
43 t.Fatalf("test-%d: invalid hash, %#x vs %#x", i, h, x.hash)
44 }
45 }
46 }
47
View as plain text