diff options
Diffstat (limited to 'trunk/Examples/test-suite/csharp/member_pointer_runme.cs')
-rw-r--r-- | trunk/Examples/test-suite/csharp/member_pointer_runme.cs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/trunk/Examples/test-suite/csharp/member_pointer_runme.cs b/trunk/Examples/test-suite/csharp/member_pointer_runme.cs new file mode 100644 index 000000000..ad324d474 --- /dev/null +++ b/trunk/Examples/test-suite/csharp/member_pointer_runme.cs @@ -0,0 +1,47 @@ +using System; +using member_pointerNamespace; + +public class runme { + public static SWIGTYPE_m_Shape__f_void__double memberPtr = null; + static void Main() { + // Get the pointers + + SWIGTYPE_m_Shape__f_void__double area_pt = member_pointer.areapt(); + SWIGTYPE_m_Shape__f_void__double perim_pt = member_pointer.perimeterpt(); + + // Create some objects + + Square s = new Square(10); + + // Do some calculations + + check( "Square area ", 100.0, member_pointer.do_op(s,area_pt) ); + check( "Square perim", 40.0, member_pointer.do_op(s,perim_pt) ); + + memberPtr = member_pointer.areavar; + memberPtr = member_pointer.perimetervar; + + // Try the variables + check( "Square area ", 100.0, member_pointer.do_op(s,member_pointer.areavar) ); + check( "Square perim", 40.0, member_pointer.do_op(s,member_pointer.perimetervar) ); + + // Modify one of the variables + member_pointer.areavar = perim_pt; + + check( "Square perimeter", 40.0, member_pointer.do_op(s,member_pointer.areavar) ); + + // Try the constants + + memberPtr = member_pointer.AREAPT; + memberPtr = member_pointer.PERIMPT; + memberPtr = member_pointer.NULLPT; + + check( "Square area ", 100.0, member_pointer.do_op(s,member_pointer.AREAPT) ); + check( "Square perim", 40.0, member_pointer.do_op(s,member_pointer.PERIMPT) ); + + } + private static void check(string what, double expected, double actual) { + if (expected != actual) + throw new ApplicationException("Failed: " + what + " Expected: " + expected + " Actual: " + actual); + } +} |