github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/syndtr/goleveldb/leveldb/util/hash_test.go (about) 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 }