Add support for the Go programming language.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12108 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
09f14197ac
commit
5af2978f77
259 changed files with 16159 additions and 14 deletions
51
Examples/test-suite/go/unions_runme.go
Normal file
51
Examples/test-suite/go/unions_runme.go
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
// This is the union runtime testcase. It ensures that values within a
|
||||
// union embedded within a struct can be set and read correctly.
|
||||
|
||||
package main
|
||||
|
||||
import "./unions"
|
||||
|
||||
func main() {
|
||||
// Create new instances of SmallStruct and BigStruct for later use
|
||||
small := unions.NewSmallStruct()
|
||||
small.SetJill(200)
|
||||
|
||||
big := unions.NewBigStruct()
|
||||
big.SetSmallstruct(small)
|
||||
big.SetJack(300)
|
||||
|
||||
// Use SmallStruct then BigStruct to setup EmbeddedUnionTest.
|
||||
// Ensure values in EmbeddedUnionTest are set correctly for each.
|
||||
eut := unions.NewEmbeddedUnionTest()
|
||||
|
||||
// First check the SmallStruct in EmbeddedUnionTest
|
||||
eut.SetNumber(1)
|
||||
eut.GetUni().SetSmall(small)
|
||||
Jill1 := eut.GetUni().GetSmall().GetJill()
|
||||
if Jill1 != 200 {
|
||||
panic("Runtime test1 failed")
|
||||
}
|
||||
|
||||
Num1 := eut.GetNumber()
|
||||
if Num1 != 1 {
|
||||
panic("Runtime test2 failed")
|
||||
}
|
||||
|
||||
// Secondly check the BigStruct in EmbeddedUnionTest
|
||||
eut.SetNumber(2)
|
||||
eut.GetUni().SetBig(big)
|
||||
Jack1 := eut.GetUni().GetBig().GetJack()
|
||||
if Jack1 != 300 {
|
||||
panic("Runtime test3 failed")
|
||||
}
|
||||
|
||||
Jill2 := eut.GetUni().GetBig().GetSmallstruct().GetJill()
|
||||
if Jill2 != 200 {
|
||||
panic("Runtime test4 failed")
|
||||
}
|
||||
|
||||
Num2 := eut.GetNumber()
|
||||
if Num2 != 2 {
|
||||
panic("Runtime test5 failed")
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue