| // Copyright (c) 2012, Suryandaru Triandana <syndtr@gmail.com> |
| // All rights reserved. |
| // |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package util |
| |
| import ( |
| "testing" |
| ) |
| |
| var hashTests = []struct { |
| data []byte |
| seed uint32 |
| hash uint32 |
| }{ |
| {nil, 0xbc9f1d34, 0xbc9f1d34}, |
| {[]byte{0x62}, 0xbc9f1d34, 0xef1345c4}, |
| {[]byte{0xc3, 0x97}, 0xbc9f1d34, 0x5b663814}, |
| {[]byte{0xe2, 0x99, 0xa5}, 0xbc9f1d34, 0x323c078f}, |
| {[]byte{0xe1, 0x80, 0xb9, 0x32}, 0xbc9f1d34, 0xed21633a}, |
| {[]byte{ |
| 0x01, 0xc0, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x00, |
| 0x14, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x04, 0x00, |
| 0x00, 0x00, 0x00, 0x14, |
| 0x00, 0x00, 0x00, 0x18, |
| 0x28, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x00, |
| 0x02, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x00, |
| }, 0x12345678, 0xf333dabb}, |
| } |
| |
| func TestHash(t *testing.T) { |
| for i, x := range hashTests { |
| h := Hash(x.data, x.seed) |
| if h != x.hash { |
| t.Fatalf("test-%d: invalid hash, %#x vs %#x", i, h, x.hash) |
| } |
| } |
| } |