1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
|
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
public class Client : Test.TestHelper
{
public sealed class caseI : @abstract.caseDisp_
{
public override Task<int>
catchAsync(int @checked, Ice.Current current)
{
return Task<int>.FromResult(0);
}
}
public sealed class decimalI : @abstract.decimalDisp_
{
public override void @default(Ice.Current current)
{
}
}
public sealed class explicitI : @abstract.explicitDisp_
{
public override Task<int>
catchAsync(int @checked, Ice.Current current)
{
return Task<int>.FromResult(0);
}
public override void @default(Ice.Current current)
{
test(current.operation == "default");
}
}
public sealed class implicitI : @abstract.@implicit
{
public @abstract.@as @in(@abstract.@break @internal, @abstract.@delegate @is, @abstract.@explicit @lock,
@abstract.casePrx @namespace, @abstract.decimalPrx @new, @abstract.@delegate @null,
@abstract.explicitPrx @operator, int @override, int @params, int @private)
{
return @abstract.@as.@base;
}
}
public sealed class Test1I : @abstract.System.TestDisp_
{
public override void op(Ice.Current c)
{
}
}
public sealed class Test2I : System.TestDisp_
{
public override void op(Ice.Current c)
{
}
}
static void
testtypes()
{
@abstract.@as a = @abstract.@as.@base;
test(a == @abstract.@as.@base);
@abstract.@break b = new @abstract.@break();
b.@readonly = 0;
test(b.@readonly == 0);
@abstract.@case c = new caseI();
test(c != null);
@abstract.@casePrx c1 = null;
test(c1 == null);
int c2 = 0;
if(c1 != null)
{
c1.@catch(0, out c2);
}
@abstract.@decimal d = new decimalI();
test(d != null);
@abstract.@decimalPrx d1 = null;
if(d1 != null)
{
d1.@default();
}
test(d1 == null);
@abstract.@delegate e = new @abstract.@delegate();
test(e != null);
@abstract.@delegate e1 = null;
test(e1 == null);
@abstract.@explicitPrx f1 = null;
if(f1 != null)
{
f1.@catch(0, out c2);
f1.@default();
}
test(f1 == null);
Dictionary<string, @abstract.@break> g2 = new Dictionary<string, @abstract.@break>();
test(g2 != null);
@abstract.@fixed h = new @abstract.@fixed();
h.@for = 0;
test(h != null);
@abstract.@foreach i = new @abstract.@foreach();
i.@for = 0;
i.@goto = 1;
i.@if = 2;
test(i != null);
@abstract.@implicit j = new implicitI();
test(j != null);
int k = @abstract.@protected.value;
test(k == 0);
}
public override void run(string[] args)
{
using(var communicator = initialize(ref args))
{
communicator.getProperties().setProperty("TestAdapter.Endpoints", "default");
Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter");
adapter.add(new decimalI(), Ice.Util.stringToIdentity("test"));
adapter.add(new Test1I(), Ice.Util.stringToIdentity("test1"));
adapter.add(new Test2I(), Ice.Util.stringToIdentity("test2"));
adapter.activate();
Console.Out.Write("testing operation name... ");
Console.Out.Flush();
@abstract.@decimalPrx p =
@abstract.@decimalPrxHelper.uncheckedCast(adapter.createProxy(Ice.Util.stringToIdentity("test")));
p.@default();
Console.Out.WriteLine("ok");
Console.Out.Write("testing System as module name... ");
Console.Out.Flush();
@abstract.System.TestPrx t1 =
@abstract.System.TestPrxHelper.uncheckedCast(adapter.createProxy(Ice.Util.stringToIdentity("test1")));
t1.op();
System.TestPrx t2 =
System.TestPrxHelper.uncheckedCast(adapter.createProxy(Ice.Util.stringToIdentity("test2")));
t2.op();
Console.Out.WriteLine("ok");
Console.Out.Write("testing types... ");
Console.Out.Flush();
testtypes();
Console.Out.WriteLine("ok");
}
}
public static int Main(string[] args)
{
return Test.TestDriver.runTest<Client>(args);
}
}
|