OSDN Git Service

Merge pull request #201 from Bytom/v0.1
[bytom/vapor.git] / vendor / github.com / mr-tron / base58 / base58 / base58_test.go
diff --git a/vendor/github.com/mr-tron/base58/base58/base58_test.go b/vendor/github.com/mr-tron/base58/base58/base58_test.go
deleted file mode 100644 (file)
index b87c6f0..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-package base58
-
-import (
-       "crypto/rand"
-       "encoding/hex"
-       "testing"
-)
-
-type testValues struct {
-       dec []byte
-       enc string
-}
-
-var n = 5000000
-var testPairs = make([]testValues, 0, n)
-
-func initTestPairs() {
-       if len(testPairs) > 0 {
-               return
-       }
-       // pre-make the test pairs, so it doesn't take up benchmark time...
-       for i := 0; i < n; i++ {
-               data := make([]byte, 32)
-               rand.Read(data)
-               testPairs = append(testPairs, testValues{dec: data, enc: FastBase58Encoding(data)})
-       }
-}
-
-func randAlphabet() *Alphabet {
-       // Permutes [0, 127] and returns the first 58 elements.
-       // Like (math/rand).Perm but using crypto/rand.
-       var randomness [128]byte
-       rand.Read(randomness[:])
-
-       var bts [128]byte
-       for i, r := range randomness {
-               j := int(r) % (i + 1)
-               bts[i] = bts[j]
-               bts[j] = byte(i)
-       }
-       return NewAlphabet(string(bts[:58]))
-}
-
-func TestFastEqTrivialEncodingAndDecoding(t *testing.T) {
-       for k := 0; k < 10; k++ {
-               testEncDecLoop(t, randAlphabet())
-       }
-       testEncDecLoop(t, BTCAlphabet)
-       testEncDecLoop(t, FlickrAlphabet)
-}
-
-func testEncDecLoop(t *testing.T, alph *Alphabet) {
-       for j := 1; j < 256; j++ {
-               var b = make([]byte, j)
-               for i := 0; i < 100; i++ {
-                       rand.Read(b)
-                       fe := FastBase58EncodingAlphabet(b, alph)
-                       te := TrivialBase58EncodingAlphabet(b, alph)
-
-                       if fe != te {
-                               t.Errorf("encoding err: %#v", hex.EncodeToString(b))
-                       }
-
-                       fd, ferr := FastBase58DecodingAlphabet(fe, alph)
-                       if ferr != nil {
-                               t.Errorf("fast error: %v", ferr)
-                       }
-                       td, terr := TrivialBase58DecodingAlphabet(te, alph)
-                       if terr != nil {
-                               t.Errorf("trivial error: %v", terr)
-                       }
-
-                       if hex.EncodeToString(b) != hex.EncodeToString(td) {
-                               t.Errorf("decoding err: %s != %s", hex.EncodeToString(b), hex.EncodeToString(td))
-                       }
-                       if hex.EncodeToString(b) != hex.EncodeToString(fd) {
-                               t.Errorf("decoding err: %s != %s", hex.EncodeToString(b), hex.EncodeToString(fd))
-                       }
-               }
-       }
-}
-
-func BenchmarkTrivialBase58Encoding(b *testing.B) {
-       initTestPairs()
-       b.ResetTimer()
-
-       for i := 0; i < b.N; i++ {
-               TrivialBase58Encoding([]byte(testPairs[i].dec))
-       }
-}
-
-func BenchmarkFastBase58Encoding(b *testing.B) {
-       initTestPairs()
-       b.ResetTimer()
-
-       for i := 0; i < b.N; i++ {
-               FastBase58Encoding(testPairs[i].dec)
-       }
-}
-
-func BenchmarkTrivialBase58Decoding(b *testing.B) {
-       initTestPairs()
-       b.ResetTimer()
-
-       for i := 0; i < b.N; i++ {
-               TrivialBase58Decoding(testPairs[i].enc)
-       }
-}
-
-func BenchmarkFastBase58Decoding(b *testing.B) {
-       initTestPairs()
-       b.ResetTimer()
-
-       for i := 0; i < b.N; i++ {
-               FastBase58Decoding(testPairs[i].enc)
-       }
-}