github.com/wangyougui/gf/v2@v2.6.5/encoding/ghash/ghash_z_unit_test.go (about) 1 // Copyright GoFrame Author(https://goframe.org). All Rights Reserved. 2 // 3 // This Source Code Form is subject to the terms of the MIT License. 4 // If a copy of the MIT was not distributed with this file, 5 // You can obtain one at https://github.com/wangyougui/gf. 6 7 package ghash_test 8 9 import ( 10 "testing" 11 12 "github.com/wangyougui/gf/v2/encoding/ghash" 13 "github.com/wangyougui/gf/v2/test/gtest" 14 ) 15 16 var ( 17 strBasic = []byte("This is the test string for hash.") 18 ) 19 20 func Test_BKDR(t *testing.T) { 21 gtest.C(t, func(t *gtest.T) { 22 x := uint32(200645773) 23 j := ghash.BKDR(strBasic) 24 t.Assert(j, x) 25 }) 26 gtest.C(t, func(t *gtest.T) { 27 x := uint64(4214762819217104013) 28 j := ghash.BKDR64(strBasic) 29 t.Assert(j, x) 30 }) 31 } 32 33 func Test_SDBM(t *testing.T) { 34 gtest.C(t, func(t *gtest.T) { 35 x := uint32(1069170245) 36 j := ghash.SDBM(strBasic) 37 t.Assert(j, x) 38 }) 39 gtest.C(t, func(t *gtest.T) { 40 x := uint64(9881052176572890693) 41 j := ghash.SDBM64(strBasic) 42 t.Assert(j, x) 43 }) 44 } 45 46 func Test_RS(t *testing.T) { 47 gtest.C(t, func(t *gtest.T) { 48 x := uint32(1944033799) 49 j := ghash.RS(strBasic) 50 t.Assert(j, x) 51 }) 52 gtest.C(t, func(t *gtest.T) { 53 x := uint64(13439708950444349959) 54 j := ghash.RS64(strBasic) 55 t.Assert(j, x) 56 }) 57 } 58 59 func Test_JS(t *testing.T) { 60 gtest.C(t, func(t *gtest.T) { 61 x := uint32(498688898) 62 j := ghash.JS(strBasic) 63 t.Assert(j, x) 64 }) 65 gtest.C(t, func(t *gtest.T) { 66 x := uint64(13410163655098759877) 67 j := ghash.JS64(strBasic) 68 t.Assert(j, x) 69 }) 70 } 71 72 func Test_PJW(t *testing.T) { 73 gtest.C(t, func(t *gtest.T) { 74 x := uint32(7244206) 75 j := ghash.PJW(strBasic) 76 t.Assert(j, x) 77 }) 78 gtest.C(t, func(t *gtest.T) { 79 x := uint64(31150) 80 j := ghash.PJW64(strBasic) 81 t.Assert(j, x) 82 }) 83 } 84 85 func Test_ELF(t *testing.T) { 86 gtest.C(t, func(t *gtest.T) { 87 x := uint32(7244206) 88 j := ghash.ELF(strBasic) 89 t.Assert(j, x) 90 }) 91 gtest.C(t, func(t *gtest.T) { 92 x := uint64(31150) 93 j := ghash.ELF64(strBasic) 94 t.Assert(j, x) 95 }) 96 } 97 98 func Test_DJB(t *testing.T) { 99 gtest.C(t, func(t *gtest.T) { 100 x := uint32(959862602) 101 j := ghash.DJB(strBasic) 102 t.Assert(j, x) 103 }) 104 gtest.C(t, func(t *gtest.T) { 105 x := uint64(2519720351310960458) 106 j := ghash.DJB64(strBasic) 107 t.Assert(j, x) 108 }) 109 } 110 111 func Test_AP(t *testing.T) { 112 gtest.C(t, func(t *gtest.T) { 113 x := uint32(3998202516) 114 j := ghash.AP(strBasic) 115 t.Assert(j, x) 116 }) 117 gtest.C(t, func(t *gtest.T) { 118 x := uint64(2531023058543352243) 119 j := ghash.AP64(strBasic) 120 t.Assert(j, x) 121 }) 122 }