OSDN Git Service

Thanos did someting
[bytom/vapor.git] / vendor / github.com / mitchellh / mapstructure / mapstructure_benchmark_test.go
diff --git a/vendor/github.com/mitchellh/mapstructure/mapstructure_benchmark_test.go b/vendor/github.com/mitchellh/mapstructure/mapstructure_benchmark_test.go
deleted file mode 100644 (file)
index 41d2a41..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-package mapstructure
-
-import (
-       "encoding/json"
-       "testing"
-)
-
-func Benchmark_Decode(b *testing.B) {
-       type Person struct {
-               Name   string
-               Age    int
-               Emails []string
-               Extra  map[string]string
-       }
-
-       input := map[string]interface{}{
-               "name":   "Mitchell",
-               "age":    91,
-               "emails": []string{"one", "two", "three"},
-               "extra": map[string]string{
-                       "twitter": "mitchellh",
-               },
-       }
-
-       var result Person
-       for i := 0; i < b.N; i++ {
-               Decode(input, &result)
-       }
-}
-
-// decodeViaJSON takes the map data and passes it through encoding/json to convert it into the
-// given Go native structure pointed to by v. v must be a pointer to a struct.
-func decodeViaJSON(data interface{}, v interface{}) error {
-       // Perform the task by simply marshalling the input into JSON,
-       // then unmarshalling it into target native Go struct.
-       b, err := json.Marshal(data)
-       if err != nil {
-               return err
-       }
-       return json.Unmarshal(b, v)
-}
-
-func Benchmark_DecodeViaJSON(b *testing.B) {
-       type Person struct {
-               Name   string
-               Age    int
-               Emails []string
-               Extra  map[string]string
-       }
-
-       input := map[string]interface{}{
-               "name":   "Mitchell",
-               "age":    91,
-               "emails": []string{"one", "two", "three"},
-               "extra": map[string]string{
-                       "twitter": "mitchellh",
-               },
-       }
-
-       var result Person
-       for i := 0; i < b.N; i++ {
-               decodeViaJSON(input, &result)
-       }
-}
-
-func Benchmark_DecodeBasic(b *testing.B) {
-       input := map[string]interface{}{
-               "vstring": "foo",
-               "vint":    42,
-               "Vuint":   42,
-               "vbool":   true,
-               "Vfloat":  42.42,
-               "vsilent": true,
-               "vdata":   42,
-       }
-
-       var result Basic
-       for i := 0; i < b.N; i++ {
-               Decode(input, &result)
-       }
-}
-
-func Benchmark_DecodeEmbedded(b *testing.B) {
-       input := map[string]interface{}{
-               "vstring": "foo",
-               "Basic": map[string]interface{}{
-                       "vstring": "innerfoo",
-               },
-               "vunique": "bar",
-       }
-
-       var result Embedded
-       for i := 0; i < b.N; i++ {
-               Decode(input, &result)
-       }
-}
-
-func Benchmark_DecodeTypeConversion(b *testing.B) {
-       input := map[string]interface{}{
-               "IntToFloat":    42,
-               "IntToUint":     42,
-               "IntToBool":     1,
-               "IntToString":   42,
-               "UintToInt":     42,
-               "UintToFloat":   42,
-               "UintToBool":    42,
-               "UintToString":  42,
-               "BoolToInt":     true,
-               "BoolToUint":    true,
-               "BoolToFloat":   true,
-               "BoolToString":  true,
-               "FloatToInt":    42.42,
-               "FloatToUint":   42.42,
-               "FloatToBool":   42.42,
-               "FloatToString": 42.42,
-               "StringToInt":   "42",
-               "StringToUint":  "42",
-               "StringToBool":  "1",
-               "StringToFloat": "42.42",
-               "SliceToMap":    []interface{}{},
-               "MapToSlice":    map[string]interface{}{},
-       }
-
-       var resultStrict TypeConversionResult
-       for i := 0; i < b.N; i++ {
-               Decode(input, &resultStrict)
-       }
-}
-
-func Benchmark_DecodeMap(b *testing.B) {
-       input := map[string]interface{}{
-               "vfoo": "foo",
-               "vother": map[interface{}]interface{}{
-                       "foo": "foo",
-                       "bar": "bar",
-               },
-       }
-
-       var result Map
-       for i := 0; i < b.N; i++ {
-               Decode(input, &result)
-       }
-}
-
-func Benchmark_DecodeMapOfStruct(b *testing.B) {
-       input := map[string]interface{}{
-               "value": map[string]interface{}{
-                       "foo": map[string]string{"vstring": "one"},
-                       "bar": map[string]string{"vstring": "two"},
-               },
-       }
-
-       var result MapOfStruct
-       for i := 0; i < b.N; i++ {
-               Decode(input, &result)
-       }
-}
-
-func Benchmark_DecodeSlice(b *testing.B) {
-       input := map[string]interface{}{
-               "vfoo": "foo",
-               "vbar": []string{"foo", "bar", "baz"},
-       }
-
-       var result Slice
-       for i := 0; i < b.N; i++ {
-               Decode(input, &result)
-       }
-}
-
-func Benchmark_DecodeSliceOfStruct(b *testing.B) {
-       input := map[string]interface{}{
-               "value": []map[string]interface{}{
-                       {"vstring": "one"},
-                       {"vstring": "two"},
-               },
-       }
-
-       var result SliceOfStruct
-       for i := 0; i < b.N; i++ {
-               Decode(input, &result)
-       }
-}
-
-func Benchmark_DecodeWeaklyTypedInput(b *testing.B) {
-       type Person struct {
-               Name   string
-               Age    int
-               Emails []string
-       }
-
-       // This input can come from anywhere, but typically comes from
-       // something like decoding JSON, generated by a weakly typed language
-       // such as PHP.
-       input := map[string]interface{}{
-               "name":   123,                      // number => string
-               "age":    "42",                     // string => number
-               "emails": map[string]interface{}{}, // empty map => empty array
-       }
-
-       var result Person
-       config := &DecoderConfig{
-               WeaklyTypedInput: true,
-               Result:           &result,
-       }
-
-       decoder, err := NewDecoder(config)
-       if err != nil {
-               panic(err)
-       }
-
-       for i := 0; i < b.N; i++ {
-               decoder.Decode(input)
-       }
-}
-
-func Benchmark_DecodeMetadata(b *testing.B) {
-       type Person struct {
-               Name string
-               Age  int
-       }
-
-       input := map[string]interface{}{
-               "name":  "Mitchell",
-               "age":   91,
-               "email": "foo@bar.com",
-       }
-
-       var md Metadata
-       var result Person
-       config := &DecoderConfig{
-               Metadata: &md,
-               Result:   &result,
-       }
-
-       decoder, err := NewDecoder(config)
-       if err != nil {
-               panic(err)
-       }
-
-       for i := 0; i < b.N; i++ {
-               decoder.Decode(input)
-       }
-}
-
-func Benchmark_DecodeMetadataEmbedded(b *testing.B) {
-       input := map[string]interface{}{
-               "vstring": "foo",
-               "vunique": "bar",
-       }
-
-       var md Metadata
-       var result EmbeddedSquash
-       config := &DecoderConfig{
-               Metadata: &md,
-               Result:   &result,
-       }
-
-       decoder, err := NewDecoder(config)
-       if err != nil {
-               b.Fatalf("err: %s", err)
-       }
-
-       for i := 0; i < b.N; i++ {
-               decoder.Decode(input)
-       }
-}
-
-func Benchmark_DecodeTagged(b *testing.B) {
-       input := map[string]interface{}{
-               "foo": "bar",
-               "bar": "value",
-       }
-
-       var result Tagged
-       for i := 0; i < b.N; i++ {
-               Decode(input, &result)
-       }
-}