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/csharp/li_attribute_runme.cs | |
| 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/csharp/li_attribute_runme.cs')
| -rw-r--r-- | Examples/test-suite/csharp/li_attribute_runme.cs | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/Examples/test-suite/csharp/li_attribute_runme.cs b/Examples/test-suite/csharp/li_attribute_runme.cs new file mode 100644 index 0000000..46f9826 --- /dev/null +++ b/Examples/test-suite/csharp/li_attribute_runme.cs @@ -0,0 +1,78 @@ +// Ported from Python li_attribute_runme.py + +using System; +using li_attributeNamespace; + +public class li_attribute_runme { + + public static void Main() { + A aa = new A(1,2,3); + + if (aa.a != 1) + throw new ApplicationException("error"); + aa.a = 3; + if (aa.a != 3) + throw new ApplicationException("error"); + + if (aa.b != 2) + throw new ApplicationException("error"); + aa.b = 5; + if (aa.b != 5) + throw new ApplicationException("error"); + + if (aa.d != aa.b) + throw new ApplicationException("error"); + + if (aa.c != 3) + throw new ApplicationException("error"); + //aa.c = 5; + //if (aa.c != 3) + // throw new ApplicationException("error"); + + Param_i pi = new Param_i(7); + if (pi.value != 7) + throw new ApplicationException("error"); + + pi.value=3; + if (pi.value != 3) + throw new ApplicationException("error"); + + B b = new B(aa); + + if (b.a.c != 3) + throw new ApplicationException("error"); + + // class/struct attribute with get/set methods using return/pass by reference + MyFoo myFoo = new MyFoo(); + myFoo.x = 8; + MyClass myClass = new MyClass(); + myClass.Foo = myFoo; + if (myClass.Foo.x != 8) + throw new ApplicationException("error"); + + // class/struct attribute with get/set methods using return/pass by value + MyClassVal myClassVal = new MyClassVal(); + if (myClassVal.ReadWriteFoo.x != -1) + throw new ApplicationException("error"); + if (myClassVal.ReadOnlyFoo.x != -1) + throw new ApplicationException("error"); + myClassVal.ReadWriteFoo = myFoo; + if (myClassVal.ReadWriteFoo.x != 8) + throw new ApplicationException("error"); + if (myClassVal.ReadOnlyFoo.x != 8) + throw new ApplicationException("error"); + + // string attribute with get/set methods using return/pass by value + MyStringyClass myStringClass = new MyStringyClass("initial string"); + if (myStringClass.ReadWriteString != "initial string") + throw new ApplicationException("error"); + if (myStringClass.ReadOnlyString != "initial string") + throw new ApplicationException("error"); + myStringClass.ReadWriteString = "changed string"; + if (myStringClass.ReadWriteString != "changed string") + throw new ApplicationException("error"); + if (myStringClass.ReadOnlyString != "changed string") + throw new ApplicationException("error"); + } +} + |
