v2 / vlib / x / json2 / tests / decode_fixed_array_test.v
35 lines · 30 sloc · 744 bytes · 2d33a7f2819dd5fc1f4aa3b3ca0bcc660810d7af
Raw
1import x.json2 as json
2
3fn test_fixed_array() {
4 mut expected := [3]int{}
5 expected[0] = 1
6 expected[1] = 2
7 expected[2] = 3
8 assert json.decode[[3]int]('[1, 2, 3]')! == expected
9}
10
11fn test_fixed_array_to_few() {
12 json.decode[[4]int]('[1, 2, 3]') or {
13 if err is json.JsonDecodeError {
14 assert err.line == 1
15 assert err.character == 8
16 assert err.message == 'Data: Fixed size array expected 4 elements but got 3 elements'
17 }
18
19 return
20 }
21 assert false
22}
23
24fn test_fixed_array_to_many() {
25 json.decode[[2]int]('[1, 2, 3]') or {
26 if err is json.JsonDecodeError {
27 assert err.line == 1
28 assert err.character == 8
29 assert err.message == 'Data: Fixed size array expected 2 elements but got 3 elements'
30 }
31
32 return
33 }
34 assert false
35}
36