diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2010-06-02 20:53:17 +0000 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2010-06-02 20:53:17 +0000 |
commit | 2824b0cbb66e715490e1ef13250bd675d87b32d9 (patch) | |
tree | c3bc8d54c6d73f2b7ce08cac34172dbc9f5e5b95 /trunk/Examples/test-suite/perl5/unions_runme.pl | |
parent | 289cfef4b4766ff266f3b1bdda8ca3a952e5a047 (diff) | |
download | swig-39489534f6104d5a2938392418dbb7189c037f8b.tar.gz |
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/tags/rel-2.0.0@12089 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'trunk/Examples/test-suite/perl5/unions_runme.pl')
-rw-r--r-- | trunk/Examples/test-suite/perl5/unions_runme.pl | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/trunk/Examples/test-suite/perl5/unions_runme.pl b/trunk/Examples/test-suite/perl5/unions_runme.pl new file mode 100644 index 000000000..7a62295c3 --- /dev/null +++ b/trunk/Examples/test-suite/perl5/unions_runme.pl @@ -0,0 +1,42 @@ +use strict; +use warnings; +use Test::More tests => 7; +# This is the union runtime testcase. It ensures that values within a +# union embedded within a struct can be set and read correctly. + +BEGIN { use_ok('unions') } +require_ok('unions'); + +# Create new instances of SmallStruct and BigStruct for later use +my $small = new unions::SmallStruct(); +$small->{jill} = 200; + +my $big = new unions::BigStruct(); +$big->{smallstruct} = $small; +$big->{jack} = 300; + +# Use SmallStruct then BigStruct to setup EmbeddedUnionTest. +# Ensure values in EmbeddedUnionTest are set correctly for each. +my $eut = new unions::EmbeddedUnionTest(); + +# First check the SmallStruct in EmbeddedUnionTest +$eut->{number} = 1; +$eut->{uni}->{small} = $small; +my $Jill1 = $eut->{uni}->{small}->{jill}; +is($Jill1, 200, "eut.uni.small.jill"); + +my $Num1 = $eut->{number}; +is($Num1, 1, "test2 eut.number"); + +# Secondly check the BigStruct in EmbeddedUnionTest +$eut->{number} = 2; +$eut->{uni}->{big} = $big; +my $Jack1 = $eut->{uni}->{big}->{jack}; +is($Jack1, 300, "test3 eut.uni.big.jack"); + +my $Jill2 = $eut->{uni}->{big}->{smallstruct}->{jill}; +is($Jill2, 200, "test4 eut.uni.big.smallstruct.jill"); + +my $Num2 = $eut->{number}; +is($Num2, 2, "test5 eut.number"); + |