diff options
Diffstat (limited to 'v_windows/v/vlib/arrays/arrays_test.v')
-rw-r--r-- | v_windows/v/vlib/arrays/arrays_test.v | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/v_windows/v/vlib/arrays/arrays_test.v b/v_windows/v/vlib/arrays/arrays_test.v new file mode 100644 index 0000000..54042b1 --- /dev/null +++ b/v_windows/v/vlib/arrays/arrays_test.v @@ -0,0 +1,87 @@ +module arrays + +fn test_min() { + a := [8, 2, 6, 4] + assert min<int>(a) == 2 + assert min<int>(a[2..]) == 4 + b := [f32(5.1), 3.1, 1.1, 9.1] + assert min<f32>(b) == f32(1.1) + assert min<f32>(b[..2]) == f32(3.1) + c := [byte(4), 9, 3, 1] + assert min<byte>(c) == byte(1) + assert min<byte>(c[..3]) == byte(3) +} + +fn test_max() { + a := [8, 2, 6, 4] + assert max<int>(a) == 8 + assert max<int>(a[1..]) == 6 + b := [f32(5.1), 3.1, 1.1, 9.1] + assert max<f32>(b) == f32(9.1) + assert max<f32>(b[..3]) == f32(5.1) + c := [byte(4), 9, 3, 1] + assert max<byte>(c) == byte(9) + assert max<byte>(c[2..]) == byte(3) +} + +fn test_idx_min() { + a := [8, 2, 6, 4] + assert idx_min<int>(a) == 1 + b := [f32(5.1), 3.1, 1.1, 9.1] + assert idx_min<f32>(b) == 2 + c := [byte(4), 9, 3, 1] + assert idx_min<byte>(c) == 3 +} + +fn test_idx_max() { + a := [8, 2, 6, 4] + assert idx_max<int>(a) == 0 + b := [f32(5.1), 3.1, 1.1, 9.1] + assert idx_max<f32>(b) == 3 + c := [byte(4), 9, 3, 1] + assert idx_max<byte>(c) == 1 +} + +fn test_merge() { + a := [1, 3, 5, 5, 7] + b := [2, 4, 4, 5, 6, 8] + c := []int{} + d := []int{} + assert merge<int>(a, b) == [1, 2, 3, 4, 4, 5, 5, 5, 6, 7, 8] + assert merge<int>(c, d) == [] + assert merge<int>(a, c) == a + assert merge<int>(d, b) == b +} + +fn test_fixed_array_assignment() { + mut a := [2]int{} + a[0] = 111 + a[1] = 222 + b := a + assert b[0] == a[0] + assert b[1] == a[1] + mut c := [2]int{} + c = a + assert c[0] == a[0] + assert c[1] == a[1] + d := [3]int{init: 333} + for val in d { + assert val == 333 + } + e := [3]string{init: 'vlang'} + for val in e { + assert val == 'vlang' + } +} + +fn test_group() { + x := [4, 5, 6] + y := [2, 1, 3] + + z := group<int>(x, y) + assert z == [[4, 2], [5, 1], [6, 3]] + x2 := [8, 9] + z2 := group<int>(x2, y) + assert z2 == [[8, 2], [9, 1]] + assert group<int>(x, []int{}) == [][]int{} +} |