jsoniter_float_test.go 788 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package jsoniter
  2. import (
  3. "testing"
  4. "encoding/json"
  5. "fmt"
  6. )
  7. func Test_float64_0(t *testing.T) {
  8. iter := ParseString(`0`)
  9. val := iter.ReadFloat64()
  10. if val != 0 {
  11. t.Fatal(val)
  12. }
  13. }
  14. func Test_float64_1_dot_1(t *testing.T) {
  15. iter := ParseString(`1.1`)
  16. val := iter.ReadFloat64()
  17. if val != 1.1 {
  18. t.Fatal(val)
  19. }
  20. }
  21. func Test_float32_1_dot_1_comma(t *testing.T) {
  22. iter := ParseString(`1.1,`)
  23. val := iter.ReadFloat32()
  24. if val != 1.1 {
  25. fmt.Println(iter.Error)
  26. t.Fatal(val)
  27. }
  28. }
  29. func Benchmark_jsoniter_float(b *testing.B) {
  30. b.ReportAllocs()
  31. for n := 0; n < b.N; n++ {
  32. iter := ParseString(`1.1111111111`)
  33. iter.ReadFloat64()
  34. }
  35. }
  36. func Benchmark_json_float(b *testing.B) {
  37. for n := 0; n < b.N; n++ {
  38. result := float64(0)
  39. json.Unmarshal([]byte(`1.1`), &result)
  40. }
  41. }