v2 / vlib / v / tests / builtin_arrays / array_with_it_test.v
31 lines · 26 sloc · 865 bytes · 877298befb83b15f057dd0229970803209e78777
Raw
1fn test_array_with_it() {
2 assert [0, 1, 2, 3, 4, 5]! == [6]int{init: index}
3 a1 := [6]int{init: index}
4 assert a1 == [0, 1, 2, 3, 4, 5]!
5
6 assert [0, 1, 4, 9, 16, 25] == []int{len: 6, init: index * index}
7 a2 := []int{len: 6, init: index * index}
8 assert a2 == [0, 1, 4, 9, 16, 25]
9
10 assert [1, 2, 3, 4, 5] == []int{len: 5, init: index + 1}
11 a3 := []int{len: 5, init: index + 1}
12 assert a3 == [1, 2, 3, 4, 5]
13
14 assert [5, 4, 3, 2, 1] == []int{len: 5, init: 5 - index}
15 a4 := []int{len: 5, init: 5 - index}
16 assert a4 == [5, 4, 3, 2, 1]
17}
18
19fn test_array_init_with_option() {
20 input := [3.1, 1.1]
21 arr := []f64{len: 3, init: input[index] or { 0.0 }}
22 println(arr)
23 assert arr[0] == 3.1
24 assert arr[1] == 1.1
25 assert arr[2] == 0.0
26}
27
28fn test_array_init_with_inline_array_literal_and_option() {
29 arr := []int{len: 2, init: [4][index] or { 0 }}
30 assert arr == [4, 0]
31}
32