OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / syndtr / goleveldb / leveldb / util / hash_test.go
1 // Copyright (c) 2012, Suryandaru Triandana <syndtr@gmail.com>
2 // All rights reserved.
3 //
4 // Use of this source code is governed by a BSD-style license that can be
5 // found in the LICENSE file.
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 }