1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/compiler/tests/struct_chained_fields_correct_test.v
2020-01-20 23:04:26 +01:00

27 lines
596 B
V

struct Axx { mut: v int }
struct Bxx { a Axx }
struct Cxx { mut: b Bxx }
struct Dxx { mut: c Cxx }
struct Exx { mut: v []int }
struct Fxx { e []Exx }
fn test_chained_string(){
mut b := Bxx{} b = Bxx{Axx{2}}
assert 'b is: ' + b.a.v.str() == 'b is: 2'
}
fn test_chained_assignments(){
mut c := Cxx{}
c.b = Bxx{}
mut d := Dxx{}
d.c.b = Bxx{}
assert true
}
fn test_chained_array_access(){
f := Fxx{[Exx{[10,20,30]},Exx{[100,200,300,400]}]}
assert 'f.e[0].v.len: 3' == 'f.e[0].v.len: ${f.e[0].v.len}'
assert 'f.e[1].v.len: 4' == 'f.e[1].v.len: ${f.e[1].v.len}'
}