| 1 | import json |
| 2 | |
| 3 | struct Number { |
| 4 | min int |
| 5 | max int |
| 6 | } |
| 7 | |
| 8 | pub struct Resp { |
| 9 | pub: |
| 10 | options []string @[omitempty] |
| 11 | number &Number = unsafe { nil } @[omitempty] |
| 12 | } |
| 13 | |
| 14 | fn (r Resp) str() string { |
| 15 | return json.encode(r) |
| 16 | } |
| 17 | |
| 18 | fn test_main() { |
| 19 | r1 := Resp{ |
| 20 | options: ['first', 'second'] |
| 21 | } |
| 22 | r2 := Resp{ |
| 23 | number: &Number{0, 0} |
| 24 | } |
| 25 | r3 := Resp{ |
| 26 | number: &Number{1, 2} |
| 27 | } |
| 28 | assert r1.str() == '{"options":["first","second"]}' |
| 29 | assert r2.str() == '{"number":{"min":0,"max":0}}' |
| 30 | assert r3.str() == '{"number":{"min":1,"max":2}}' |
| 31 | } |
| 32 | |