github.com/bingoohuang/gg@v0.0.0-20240325092523-45da7dee9335/pkg/jsoni/any_tests/jsoniter_must_be_valid_test.go (about) 1 package any_tests 2 3 import ( 4 "testing" 5 6 "github.com/bingoohuang/gg/pkg/jsoni" 7 "github.com/stretchr/testify/require" 8 ) 9 10 // if must be valid is useless, just drop this test 11 func Test_must_be_valid(t *testing.T) { 12 should := require.New(t) 13 any := jsoni.Get([]byte("123")) 14 should.Equal(any.MustBeValid().ToInt(), 123) 15 16 any = jsoni.Wrap(int8(10)) 17 should.Equal(any.MustBeValid().ToInt(), 10) 18 19 any = jsoni.Wrap(int16(10)) 20 should.Equal(any.MustBeValid().ToInt(), 10) 21 22 any = jsoni.Wrap(int32(10)) 23 should.Equal(any.MustBeValid().ToInt(), 10) 24 25 any = jsoni.Wrap(int64(10)) 26 should.Equal(any.MustBeValid().ToInt(), 10) 27 28 any = jsoni.Wrap(uint(10)) 29 should.Equal(any.MustBeValid().ToInt(), 10) 30 31 any = jsoni.Wrap(uint8(10)) 32 should.Equal(any.MustBeValid().ToInt(), 10) 33 34 any = jsoni.Wrap(uint16(10)) 35 should.Equal(any.MustBeValid().ToInt(), 10) 36 37 any = jsoni.Wrap(uint32(10)) 38 should.Equal(any.MustBeValid().ToInt(), 10) 39 40 any = jsoni.Wrap(uint64(10)) 41 should.Equal(any.MustBeValid().ToInt(), 10) 42 43 any = jsoni.Wrap(float32(10)) 44 should.Equal(any.MustBeValid().ToFloat64(), float64(10)) 45 46 any = jsoni.Wrap(float64(10)) 47 should.Equal(any.MustBeValid().ToFloat64(), float64(10)) 48 49 any = jsoni.Wrap(true) 50 should.Equal(any.MustBeValid().ToFloat64(), float64(1)) 51 52 any = jsoni.Wrap(false) 53 should.Equal(any.MustBeValid().ToFloat64(), float64(0)) 54 55 any = jsoni.Wrap(nil) 56 should.Equal(any.MustBeValid().ToFloat64(), float64(0)) 57 58 any = jsoni.Wrap(struct{ age int }{age: 1}) 59 should.Equal(any.MustBeValid().ToFloat64(), float64(0)) 60 61 any = jsoni.Wrap(map[string]interface{}{"abc": 1}) 62 should.Equal(any.MustBeValid().ToFloat64(), float64(0)) 63 64 any = jsoni.Wrap("abc") 65 should.Equal(any.MustBeValid().ToFloat64(), float64(0)) 66 67 any = jsoni.Wrap([]int{}) 68 should.Equal(any.MustBeValid().ToFloat64(), float64(0)) 69 70 any = jsoni.Wrap([]int{1, 2}) 71 should.Equal(any.MustBeValid().ToFloat64(), float64(1)) 72 }