v2 / vlib / v / tests / assign / multiple_assign_test.v
66 lines · 60 sloc · 1.0 KB · 6488041a749df9762348d019c4223908c476f2e2
Raw
1fn test_multiple_assign() {
2 a, b, c := 1, 2, 3
3 assert a == 1
4 assert b == 2
5 assert c == 3
6}
7
8fn test_multiple_assign_swap_simple() {
9 mut a := 11
10 mut b := 22
11 a, b = b, a
12 assert a == 22
13 assert b == 11
14}
15
16fn test_multiple_assign_swap_complex() {
17 mut a := 11
18 mut b := 22
19 mut c := 33
20 mut d := 44
21 a, b, c, d = b, a, d, c
22 assert a == 22
23 assert b == 11
24 assert c == 44
25 assert d == 33
26}
27
28fn test_multiple_assign_infix_expr() {
29 mut a := 11
30 mut b := 22
31 mut c := 33
32 a, b, c = b + 1, a * 2, c - a
33 assert a == 23
34 assert b == 22
35 assert c == 22
36}
37
38fn test_multiple_assign_prefix_expr() {
39 mut a := 11
40 mut b := 22
41 mut c := 33
42 a, b, c = -b, -c, -a
43 assert a == -22
44 assert b == -33
45 assert c == -11
46}
47
48fn test_multiple_assign_postfix_expr() {
49 mut a := 11
50 mut b := 22
51 mut c := 33
52 a, b, c = b++, c++, a--
53 assert a == 22
54 assert b == 33
55 assert c == 11
56}
57
58fn test_multiple_assign_complex_expr() {
59 mut a := 11
60 mut b := 22
61 mut c := 33
62 a, b, c = -b + 1, -c * 2, a++
63 assert a == -21
64 assert b == -66
65 assert c == 11
66}
67