v2 / vlib / v / tests / options / option_unwrap_test.v
27 lines · 25 sloc · 369 bytes · 3d302a6dad1d1d9ac7b9492ffda488c762e766e4
Raw
1struct Node {
2pub mut:
3 parent ?&Node
4 id int
5}
6
7fn set_trace(n &Node) int {
8 if n.parent != none {
9 set_trace(n.parent)
10 assert n.id != 0
11 } else {
12 assert n.id == 1
13 }
14 return n.id
15}
16
17fn test_main() {
18 mut initial_node := &Node{
19 parent: none
20 id: 1
21 }
22 mut child_node := &Node{
23 parent: initial_node
24 id: 2
25 }
26 assert set_trace(child_node) == 2
27}
28