diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2009-08-18 20:56:02 +0000 |
|---|---|---|
| committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-09-25 16:59:08 +0000 |
| commit | 9f8a09ed743cedd9547bf0661d518647966ab114 (patch) | |
| tree | 9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/test-suite/mzscheme/unions_runme.scm | |
| download | swig-tarball-master.tar.gz | |
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/test-suite/mzscheme/unions_runme.scm')
| -rw-r--r-- | Examples/test-suite/mzscheme/unions_runme.scm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Examples/test-suite/mzscheme/unions_runme.scm b/Examples/test-suite/mzscheme/unions_runme.scm new file mode 100644 index 0000000..c44847c --- /dev/null +++ b/Examples/test-suite/mzscheme/unions_runme.scm @@ -0,0 +1,38 @@ +;;; This is the union runtime testcase. It ensures that values within a +;;; union embedded within a struct can be set and read correctly. + +(load-extension "unions.so") + +;; Create new instances of SmallStruct and BigStruct for later use +(define small (new-SmallStruct)) +(SmallStruct-jill-set small 200) + +(define big (new-BigStruct)) +(BigStruct-smallstruct-set big small) +(BigStruct-jack-set big 300) + +;; Use SmallStruct then BigStruct to setup EmbeddedUnionTest. +;; Ensure values in EmbeddedUnionTest are set correctly for each. +(define eut (new-EmbeddedUnionTest)) + +;; First check the SmallStruct in EmbeddedUnionTest +(EmbeddedUnionTest-number-set eut 1) +(EmbeddedUnionTest-uni-small-set (EmbeddedUnionTest-uni-get eut) + small) +(let ((Jill1 (SmallStruct-jill-get + (EmbeddedUnionTest-uni-small-get + (EmbeddedUnionTest-uni-get eut))))) + (if (not (= Jill1 200)) + (begin + (display "Runtime test 1 failed.") + (exit 1)))) + +(let ((Num1 (EmbeddedUnionTest-number-get eut))) + (if (not (= Num1 1)) + (begin + (display "Runtime test 2 failed.") + (exit 1)))) + +;; that should do + +(exit 0) |
