| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- package jsoniter
- import (
- "testing"
- )
- func Test_int_1(t *testing.T) {
- iter := NewIterator([]byte("1"))
- val := iter.ReadInt()
- if val != 1 {
- t.Fatal(val)
- }
- }
- func Test_int_minus_1(t *testing.T) {
- iter := NewIterator([]byte("-1"))
- val := iter.ReadInt()
- if val != -1 {
- t.Fatal(val)
- }
- }
- func Test_int_100(t *testing.T) {
- iter := NewIterator([]byte("100,"))
- val := iter.ReadInt()
- if val != 100 {
- t.Fatal(val)
- }
- }
- func Test_int_0(t *testing.T) {
- iter := NewIterator([]byte("0"))
- val := iter.ReadInt()
- if val != 0 {
- t.Fatal(val)
- }
- }
- //func Test_single_element(t *testing.T) {
- // iter := NewIterator([]byte("[1]"))
- // val := 0
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadInt()
- // })
- // if val != 1 {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_multiple_elements(t *testing.T) {
- // iter := NewIterator([]byte("[1, 2]"))
- // result := []int{0, 0}
- // iter.ReadArray(func(iter Iterator, index int) {
- // result[index] = iter.ReadInt()
- // })
- // if !reflect.DeepEqual([]int{1, 2}, result) {
- // t.Fatal(result)
- // }
- //}
- //
- //func Test_invalid_array(t *testing.T) {
- // iter := NewIterator([]byte("[1, ]"))
- // result := []int{0, 0}
- // var foundErr error
- // iter.ErrorHandler = func(err error) {
- // foundErr = err
- // }
- // iter.ReadArray(func(iter Iterator, index int) {
- // result[index] = iter.ReadInt()
- // })
- // if foundErr == nil {
- // t.FailNow()
- // }
- //}
- //
- //func Test_single_field(t *testing.T) {
- // iter := NewIterator([]byte(`{"a": 1}`))
- // result := map[string]int{}
- // iter.ReadObject(func(iter Iterator, field string) {
- // result[field] = iter.ReadInt()
- // })
- // if !reflect.DeepEqual(map[string]int{"a": 1}, result) {
- // t.Fatal(result)
- // }
- //}
- //
- //func Test_multiple_fields(t *testing.T) {
- // iter := NewIterator([]byte(`{"a": 1, "b": 2}`))
- // result := map[string]int{}
- // iter.ReadObject(func(iter Iterator, field string) {
- // result[field] = iter.ReadInt()
- // })
- // if !reflect.DeepEqual(map[string]int{"a": 1, "b": 2}, result) {
- // t.Fatal(result)
- // }
- //}
- //
- //func Test_nested_object(t *testing.T) {
- // iter := NewIterator([]byte(`{"a": [{"b": 2}, {"b": 1}]}`))
- // obj := map[string][]map[string]int{}
- // iter.ReadObject(func(iter Iterator, field string) {
- // array := []map[string]int{}
- // iter.ReadArray(func(iter Iterator, index int) {
- // nestedObj := map[string]int{}
- // iter.ReadObject(func(iter Iterator, field string) {
- // nestedObj[field] = iter.ReadInt()
- // })
- // array = append(array, nestedObj)
- // })
- // obj[field] = array
- // })
- // if !reflect.DeepEqual(obj, map[string][]map[string]int{
- // "a": {{"b": 2}, {"b": 1}},
- // }) {
- // t.Fatal(obj)
- // }
- //}
- //
- //func Test_skip(t *testing.T) {
- // iter := NewIterator([]byte(`{"a": [{"b": 2}, {"b": 1}], "c": 3}`))
- // val := 0
- // iter.ReadObject(func(iter Iterator, field string) {
- // if ("c" == field) {
- // val = iter.ReadInt()
- // } else {
- // iter.Skip()
- // }
- // })
- // if val != 3 {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_int8(t *testing.T) {
- // iter := NewIterator([]byte("[1]"))
- // val := int8(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadInt8()
- // })
- // if val != int8(1) {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_int16(t *testing.T) {
- // iter := NewIterator([]byte("[1]"))
- // val := int16(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadInt16()
- // })
- // if val != int16(1) {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_int32(t *testing.T) {
- // iter := NewIterator([]byte("[1]"))
- // val := int32(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadInt32()
- // })
- // if val != int32(1) {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_int64(t *testing.T) {
- // iter := NewIterator([]byte("[1]"))
- // val := int64(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadInt64()
- // })
- // if val != int64(1) {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_uint(t *testing.T) {
- // iter := NewIterator([]byte("[1]"))
- // val := uint(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadUint()
- // })
- // if val != uint(1) {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_uint8(t *testing.T) {
- // iter := NewIterator([]byte("[1]"))
- // val := uint8(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadUint8()
- // })
- // if val != uint8(1) {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_uint16(t *testing.T) {
- // iter := NewIterator([]byte("[1]"))
- // val := uint16(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadUint16()
- // })
- // if val != uint16(1) {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_uint32(t *testing.T) {
- // iter := NewIterator([]byte("[1]"))
- // val := uint32(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadUint32()
- // })
- // if val != uint32(1) {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_uint64(t *testing.T) {
- // iter := NewIterator([]byte("[1]"))
- // val := uint64(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadUint64()
- // })
- // if val != uint64(1) {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_float32(t *testing.T) {
- // iter := NewIterator([]byte("[1.1]"))
- // val := float32(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadFloat32()
- // })
- // if val != float32(1.1) {
- // t.Fatal(val)
- // }
- //}
- //
- //func Test_float64(t *testing.T) {
- // iter := NewIterator([]byte("[1.1]"))
- // val := float64(0)
- // iter.ReadArray(func(iter Iterator, index int) {
- // val = iter.ReadFloat64()
- // })
- // if val != float64(1.1) {
- // t.Fatal(val)
- // }
- //}
- //
|