diff options
Diffstat (limited to 'Examples/test-suite/go/go_director_inout_runme.go')
-rw-r--r-- | Examples/test-suite/go/go_director_inout_runme.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Examples/test-suite/go/go_director_inout_runme.go b/Examples/test-suite/go/go_director_inout_runme.go new file mode 100644 index 000000000..9b9df318e --- /dev/null +++ b/Examples/test-suite/go/go_director_inout_runme.go @@ -0,0 +1,32 @@ +package main + +import ( + wrap "./go_director_inout" +) + +type GoMyClass struct {} + +func (p *GoMyClass) Adjust(m map[string]interface{}) wrap.GoRetStruct { + s := "" + for k, v := range m { + s += k + "," + v.(string) + ";" + } + return wrap.GoRetStruct{s} +} + +func main() { + a := wrap.NewDirectorMyClass(&GoMyClass{}) + m := map[string]interface{}{ + "first": "second", + } + s := a.Adjust(m) + if s.Str != "first,second;" { + panic(s) + } + + a = wrap.NewDirectorMyClass(nil) + s = a.Adjust(m) + if s.Str != `{"first":"second"}` { + panic(s.Str) + } +} |