fuzzy_decoder_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package extra
  2. import (
  3. "testing"
  4. "github.com/json-iterator/go"
  5. "github.com/json-iterator/go/require"
  6. )
  7. func init() {
  8. RegisterFuzzyDecoders()
  9. }
  10. func Test_string_to_string(t *testing.T) {
  11. should := require.New(t)
  12. var val string
  13. should.Nil(jsoniter.UnmarshalFromString(`"100"`, &val))
  14. should.Equal("100", val)
  15. }
  16. func Test_int_to_string(t *testing.T) {
  17. should := require.New(t)
  18. var val string
  19. should.Nil(jsoniter.UnmarshalFromString(`100`, &val))
  20. should.Equal("100", val)
  21. }
  22. func Test_float_to_string(t *testing.T) {
  23. should := require.New(t)
  24. var val string
  25. should.Nil(jsoniter.UnmarshalFromString(`12.0`, &val))
  26. should.Equal("12.0", val)
  27. }
  28. func Test_string_to_int(t *testing.T) {
  29. should := require.New(t)
  30. var val int
  31. should.Nil(jsoniter.UnmarshalFromString(`"100"`, &val))
  32. should.Equal(100, val)
  33. }
  34. func Test_int_to_int(t *testing.T) {
  35. should := require.New(t)
  36. var val int
  37. should.Nil(jsoniter.UnmarshalFromString(`100`, &val))
  38. should.Equal(100, val)
  39. }
  40. func Test_float_to_int(t *testing.T) {
  41. should := require.New(t)
  42. var val int
  43. should.Nil(jsoniter.UnmarshalFromString(`1.23`, &val))
  44. should.Equal(1, val)
  45. }