| package any_tests |
| |
| import ( |
| "testing" |
| |
| "github.com/json-iterator/go" |
| "github.com/stretchr/testify/require" |
| ) |
| |
| // if must be valid is useless, just drop this test |
| func Test_must_be_valid(t *testing.T) { |
| should := require.New(t) |
| any := jsoniter.Get([]byte("123")) |
| should.Equal(any.MustBeValid().ToInt(), 123) |
| |
| any = jsoniter.Wrap(int8(10)) |
| should.Equal(any.MustBeValid().ToInt(), 10) |
| |
| any = jsoniter.Wrap(int16(10)) |
| should.Equal(any.MustBeValid().ToInt(), 10) |
| |
| any = jsoniter.Wrap(int32(10)) |
| should.Equal(any.MustBeValid().ToInt(), 10) |
| |
| any = jsoniter.Wrap(int64(10)) |
| should.Equal(any.MustBeValid().ToInt(), 10) |
| |
| any = jsoniter.Wrap(uint(10)) |
| should.Equal(any.MustBeValid().ToInt(), 10) |
| |
| any = jsoniter.Wrap(uint8(10)) |
| should.Equal(any.MustBeValid().ToInt(), 10) |
| |
| any = jsoniter.Wrap(uint16(10)) |
| should.Equal(any.MustBeValid().ToInt(), 10) |
| |
| any = jsoniter.Wrap(uint32(10)) |
| should.Equal(any.MustBeValid().ToInt(), 10) |
| |
| any = jsoniter.Wrap(uint64(10)) |
| should.Equal(any.MustBeValid().ToInt(), 10) |
| |
| any = jsoniter.Wrap(float32(10)) |
| should.Equal(any.MustBeValid().ToFloat64(), float64(10)) |
| |
| any = jsoniter.Wrap(float64(10)) |
| should.Equal(any.MustBeValid().ToFloat64(), float64(10)) |
| |
| any = jsoniter.Wrap(true) |
| should.Equal(any.MustBeValid().ToFloat64(), float64(1)) |
| |
| any = jsoniter.Wrap(false) |
| should.Equal(any.MustBeValid().ToFloat64(), float64(0)) |
| |
| any = jsoniter.Wrap(nil) |
| should.Equal(any.MustBeValid().ToFloat64(), float64(0)) |
| |
| any = jsoniter.Wrap(struct{ age int }{age: 1}) |
| should.Equal(any.MustBeValid().ToFloat64(), float64(0)) |
| |
| any = jsoniter.Wrap(map[string]interface{}{"abc": 1}) |
| should.Equal(any.MustBeValid().ToFloat64(), float64(0)) |
| |
| any = jsoniter.Wrap("abc") |
| should.Equal(any.MustBeValid().ToFloat64(), float64(0)) |
| |
| any = jsoniter.Wrap([]int{}) |
| should.Equal(any.MustBeValid().ToFloat64(), float64(0)) |
| |
| any = jsoniter.Wrap([]int{1, 2}) |
| should.Equal(any.MustBeValid().ToFloat64(), float64(1)) |
| } |