1#
2# Copyright (c) ZeroC, Inc. All rights reserved.
3#
4
5def allTests(helper, communicator)
6    ref = "test:#{helper.getTestEndpoint()}"
7    base = communicator.stringToProxy(ref)
8    test(base)
9
10    proxy = Test::TestIntfPrx::checkedCast(base)
11    test(proxy)
12
13    print "testing enum values... "
14    STDOUT.flush
15
16    test(Test::ByteEnum::Benum1.to_i == 0);
17    test(Test::ByteEnum::Benum2.to_i == 1);
18    test(Test::ByteEnum::Benum3.to_i == Test::ByteConst1);
19    test(Test::ByteEnum::Benum4.to_i == Test::ByteConst1 + 1);
20    test(Test::ByteEnum::Benum5.to_i == Test::ShortConst1);
21    test(Test::ByteEnum::Benum6.to_i == Test::ShortConst1 + 1);
22    test(Test::ByteEnum::Benum7.to_i == Test::IntConst1);
23    test(Test::ByteEnum::Benum8.to_i == Test::IntConst1 + 1);
24    test(Test::ByteEnum::Benum9.to_i == Test::LongConst1);
25    test(Test::ByteEnum::Benum10.to_i == Test::LongConst1 + 1);
26    test(Test::ByteEnum::Benum11.to_i == Test::ByteConst2);
27
28    test(Test::ByteEnum::from_int(0) == Test::ByteEnum::Benum1);
29    test(Test::ByteEnum::from_int(1) == Test::ByteEnum::Benum2);
30    test(Test::ByteEnum::from_int(Test::ByteConst1) == Test::ByteEnum::Benum3);
31    test(Test::ByteEnum::from_int(Test::ByteConst1 + 1) == Test::ByteEnum::Benum4);
32    test(Test::ByteEnum::from_int(Test::ShortConst1) == Test::ByteEnum::Benum5);
33    test(Test::ByteEnum::from_int(Test::ShortConst1 + 1) == Test::ByteEnum::Benum6);
34    test(Test::ByteEnum::from_int(Test::IntConst1) == Test::ByteEnum::Benum7);
35    test(Test::ByteEnum::from_int(Test::IntConst1 + 1) == Test::ByteEnum::Benum8);
36    test(Test::ByteEnum::from_int(Test::LongConst1) == Test::ByteEnum::Benum9);
37    test(Test::ByteEnum::from_int(Test::LongConst1 + 1) == Test::ByteEnum::Benum10);
38    test(Test::ByteEnum::from_int(Test::ByteConst2) == Test::ByteEnum::Benum11);
39
40    test(Test::ShortEnum::Senum1.to_i == 3);
41    test(Test::ShortEnum::Senum2.to_i == 4);
42    test(Test::ShortEnum::Senum3.to_i == Test::ByteConst1);
43    test(Test::ShortEnum::Senum4.to_i == Test::ByteConst1 + 1);
44    test(Test::ShortEnum::Senum5.to_i == Test::ShortConst1);
45    test(Test::ShortEnum::Senum6.to_i == Test::ShortConst1 + 1);
46    test(Test::ShortEnum::Senum7.to_i == Test::IntConst1);
47    test(Test::ShortEnum::Senum8.to_i == Test::IntConst1 + 1);
48    test(Test::ShortEnum::Senum9.to_i == Test::LongConst1);
49    test(Test::ShortEnum::Senum10.to_i == Test::LongConst1 + 1);
50    test(Test::ShortEnum::Senum11.to_i == Test::ShortConst2);
51
52    test(Test::ShortEnum::from_int(3) == Test::ShortEnum::Senum1);
53    test(Test::ShortEnum::from_int(4) == Test::ShortEnum::Senum2);
54    test(Test::ShortEnum::from_int(Test::ByteConst1) == Test::ShortEnum::Senum3);
55    test(Test::ShortEnum::from_int(Test::ByteConst1 + 1) == Test::ShortEnum::Senum4);
56    test(Test::ShortEnum::from_int(Test::ShortConst1) == Test::ShortEnum::Senum5);
57    test(Test::ShortEnum::from_int(Test::ShortConst1 + 1) == Test::ShortEnum::Senum6);
58    test(Test::ShortEnum::from_int(Test::IntConst1) == Test::ShortEnum::Senum7);
59    test(Test::ShortEnum::from_int(Test::IntConst1 + 1) == Test::ShortEnum::Senum8);
60    test(Test::ShortEnum::from_int(Test::LongConst1) == Test::ShortEnum::Senum9);
61    test(Test::ShortEnum::from_int(Test::LongConst1 + 1) == Test::ShortEnum::Senum10);
62    test(Test::ShortEnum::from_int(Test::ShortConst2) == Test::ShortEnum::Senum11);
63
64    test(Test::IntEnum::Ienum1.to_i == 0);
65    test(Test::IntEnum::Ienum2.to_i == 1);
66    test(Test::IntEnum::Ienum3.to_i == Test::ByteConst1);
67    test(Test::IntEnum::Ienum4.to_i == Test::ByteConst1 + 1);
68    test(Test::IntEnum::Ienum5.to_i == Test::ShortConst1);
69    test(Test::IntEnum::Ienum6.to_i == Test::ShortConst1 + 1);
70    test(Test::IntEnum::Ienum7.to_i == Test::IntConst1);
71    test(Test::IntEnum::Ienum8.to_i == Test::IntConst1 + 1);
72    test(Test::IntEnum::Ienum9.to_i == Test::LongConst1);
73    test(Test::IntEnum::Ienum10.to_i == Test::LongConst1 + 1);
74    test(Test::IntEnum::Ienum11.to_i == Test::IntConst2);
75    test(Test::IntEnum::Ienum12.to_i == Test::LongConst2);
76
77    test(Test::IntEnum::from_int(0) == Test::IntEnum::Ienum1);
78    test(Test::IntEnum::from_int(1) == Test::IntEnum::Ienum2);
79    test(Test::IntEnum::from_int(Test::ByteConst1) == Test::IntEnum::Ienum3);
80    test(Test::IntEnum::from_int(Test::ByteConst1 + 1) == Test::IntEnum::Ienum4);
81    test(Test::IntEnum::from_int(Test::ShortConst1) == Test::IntEnum::Ienum5);
82    test(Test::IntEnum::from_int(Test::ShortConst1 + 1) == Test::IntEnum::Ienum6);
83    test(Test::IntEnum::from_int(Test::IntConst1) == Test::IntEnum::Ienum7);
84    test(Test::IntEnum::from_int(Test::IntConst1 + 1) == Test::IntEnum::Ienum8);
85    test(Test::IntEnum::from_int(Test::LongConst1) == Test::IntEnum::Ienum9);
86    test(Test::IntEnum::from_int(Test::LongConst1 + 1) == Test::IntEnum::Ienum10);
87    test(Test::IntEnum::from_int(Test::IntConst2) == Test::IntEnum::Ienum11);
88    test(Test::IntEnum::from_int(Test::LongConst2) == Test::IntEnum::Ienum12);
89
90    test(Test::SimpleEnum::Red.to_i == 0);
91    test(Test::SimpleEnum::Green.to_i == 1);
92    test(Test::SimpleEnum::Blue.to_i == 2);
93
94    test(Test::SimpleEnum::from_int(0) == Test::SimpleEnum::Red);
95    test(Test::SimpleEnum::from_int(1) == Test::SimpleEnum::Green);
96    test(Test::SimpleEnum::from_int(2) == Test::SimpleEnum::Blue);
97
98    puts "ok"
99
100    print "testing enum operations... "
101    STDOUT.flush
102
103    test(proxy.opByte(Test::ByteEnum::Benum1) == [Test::ByteEnum::Benum1, Test::ByteEnum::Benum1]);
104    test(proxy.opByte(Test::ByteEnum::Benum11) == [Test::ByteEnum::Benum11, Test::ByteEnum::Benum11]);
105
106    test(proxy.opShort(Test::ShortEnum::Senum1) == [Test::ShortEnum::Senum1, Test::ShortEnum::Senum1]);
107    test(proxy.opShort(Test::ShortEnum::Senum11) == [Test::ShortEnum::Senum11, Test::ShortEnum::Senum11]);
108
109    test(proxy.opInt(Test::IntEnum::Ienum1) == [Test::IntEnum::Ienum1, Test::IntEnum::Ienum1]);
110    test(proxy.opInt(Test::IntEnum::Ienum11) == [Test::IntEnum::Ienum11, Test::IntEnum::Ienum11]);
111    test(proxy.opInt(Test::IntEnum::Ienum12) == [Test::IntEnum::Ienum12, Test::IntEnum::Ienum12]);
112
113    test(proxy.opSimple(Test::SimpleEnum::Green) == [Test::SimpleEnum::Green, Test::SimpleEnum::Green]);
114
115    puts "ok"
116
117    return proxy
118end
119