diff options
Diffstat (limited to 'csharp/test')
-rw-r--r-- | csharp/test/Ice/ami/AllTests.cs | 14 | ||||
-rw-r--r-- | csharp/test/Ice/ami/Collocated.cs | 1 | ||||
-rw-r--r-- | csharp/test/Ice/ami/Server.cs | 1 | ||||
-rw-r--r-- | csharp/test/Ice/ami/Test.ice | 15 | ||||
-rw-r--r-- | csharp/test/Ice/ami/TestI.cs | 10 |
5 files changed, 41 insertions, 0 deletions
diff --git a/csharp/test/Ice/ami/AllTests.cs b/csharp/test/Ice/ami/AllTests.cs index 2f5d3e12473..985c1f77eed 100644 --- a/csharp/test/Ice/ami/AllTests.cs +++ b/csharp/test/Ice/ami/AllTests.cs @@ -3820,6 +3820,20 @@ public class AllTests : TestCommon.AllTests } WriteLine("ok"); + Write("testing result struct... "); + Flush(); + { + var q = Test.Outer.Inner.TestIntfPrxHelper.uncheckedCast( + communicator.stringToProxy("test2:" + app.getTestEndpoint(0))); + q.opAsync(1).ContinueWith(t => + { + var r = t.Result; + test(r.returnValue == 1); + test(r.j == 1); + }).Wait(); + } + WriteLine("ok"); + p.shutdown(); } } diff --git a/csharp/test/Ice/ami/Collocated.cs b/csharp/test/Ice/ami/Collocated.cs index 9a069dde732..767727ee8ac 100644 --- a/csharp/test/Ice/ami/Collocated.cs +++ b/csharp/test/Ice/ami/Collocated.cs @@ -28,6 +28,7 @@ public class Collocated : TestCommon.Application Ice.ObjectAdapter adapter2 = communicator().createObjectAdapter("ControllerAdapter"); adapter.add(new TestI(), Ice.Util.stringToIdentity("test")); + adapter.add(new TestII(), Ice.Util.stringToIdentity("test2")); //adapter.activate(); // Collocated test doesn't need to activate the OA adapter2.add(new TestControllerI(adapter), Ice.Util.stringToIdentity("testController")); //adapter2.activate(); // Collocated test doesn't need to activate the OA diff --git a/csharp/test/Ice/ami/Server.cs b/csharp/test/Ice/ami/Server.cs index 6dfdfd12c61..1e71acb2819 100644 --- a/csharp/test/Ice/ami/Server.cs +++ b/csharp/test/Ice/ami/Server.cs @@ -28,6 +28,7 @@ public class Server : TestCommon.Application Ice.ObjectAdapter adapter2 = communicator().createObjectAdapter("ControllerAdapter"); adapter.add(new TestI(), Ice.Util.stringToIdentity("test")); + adapter.add(new TestII(), Ice.Util.stringToIdentity("test2")); adapter.activate(); adapter2.add(new TestControllerI(adapter), Ice.Util.stringToIdentity("testController")); adapter2.activate(); diff --git a/csharp/test/Ice/ami/Test.ice b/csharp/test/Ice/ami/Test.ice index 0ba929e94b9..d6006190001 100644 --- a/csharp/test/Ice/ami/Test.ice +++ b/csharp/test/Ice/ami/Test.ice @@ -64,4 +64,19 @@ interface TestIntfController void resumeAdapter(); } +module Outer +{ + +module Inner +{ + +interface TestIntf +{ + int op(int i, out int j); +} + +} + +} + } diff --git a/csharp/test/Ice/ami/TestI.cs b/csharp/test/Ice/ami/TestI.cs index 4f7ec7fbe79..61377d11ef3 100644 --- a/csharp/test/Ice/ami/TestI.cs +++ b/csharp/test/Ice/ami/TestI.cs @@ -186,6 +186,16 @@ public class TestI : TestIntfDisp_ private List<TaskCompletionSource<object>> _pending = new List<TaskCompletionSource<object>>(); } +public class TestII : Test.Outer.Inner.TestIntfDisp_ +{ + override public int + op(int i, out int j, Ice.Current current) + { + j = i; + return i; + } +} + public class TestControllerI : TestIntfControllerDisp_ { override public void |