summaryrefslogtreecommitdiff
path: root/java/test/Ice/operations/TwowaysAMI.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/test/Ice/operations/TwowaysAMI.java')
-rw-r--r--java/test/Ice/operations/TwowaysAMI.java57
1 files changed, 57 insertions, 0 deletions
diff --git a/java/test/Ice/operations/TwowaysAMI.java b/java/test/Ice/operations/TwowaysAMI.java
index 2aa9ed11b7d..600f7a31242 100644
--- a/java/test/Ice/operations/TwowaysAMI.java
+++ b/java/test/Ice/operations/TwowaysAMI.java
@@ -949,6 +949,45 @@ class TwowaysAMI
private Callback callback = new Callback();
}
+ private static class AMI_MyClass_opMyStructMyEnumDI extends Test.AMI_MyClass_opMyStructMyEnumD
+ {
+ public void
+ ice_response(java.util.Map _ro, java.util.Map __do)
+ {
+ // TODO: Fix the parameters and remove the casts below when the Java2 mapping is removed.
+ Test.MyStruct s11 = new Test.MyStruct(1, 1);
+ Test.MyStruct s12 = new Test.MyStruct(1, 2);
+ java.util.Map<Test.MyStruct, Test.MyEnum> ro = (java.util.Map<Test.MyStruct, Test.MyEnum>)_ro;
+ java.util.Map<Test.MyStruct, Test.MyEnum> _do = (java.util.Map<Test.MyStruct, Test.MyEnum>)__do;
+ java.util.Map<Test.MyStruct, Test.MyEnum> di1 = new java.util.HashMap<Test.MyStruct, Test.MyEnum>();
+ di1.put(s11, Test.MyEnum.enum1);
+ di1.put(s12, Test.MyEnum.enum2);
+ test(_do.equals(di1));
+ Test.MyStruct s22 = new Test.MyStruct(2, 2);
+ Test.MyStruct s23 = new Test.MyStruct(2, 3);
+ test(ro.size() == 4);
+ test(ro.get(s11) == Test.MyEnum.enum1);
+ test(ro.get(s12) == Test.MyEnum.enum2);
+ test(ro.get(s22) == Test.MyEnum.enum3);
+ test(ro.get(s23) == Test.MyEnum.enum2);
+ callback.called();
+ }
+
+ public void
+ ice_exception(Ice.LocalException ex)
+ {
+ test(false);
+ }
+
+ public boolean
+ check()
+ {
+ return callback.check();
+ }
+
+ private Callback callback = new Callback();
+ }
+
private static class AMI_MyClass_opIntSI extends Test.AMI_MyClass_opIntS
{
AMI_MyClass_opIntSI(int l)
@@ -1441,6 +1480,24 @@ class TwowaysAMI
}
{
+ Test.MyStruct s11 = new Test.MyStruct(1, 1);
+ Test.MyStruct s12 = new Test.MyStruct(1, 2);
+ java.util.Map<Test.MyStruct, Test.MyEnum> di1 = new java.util.HashMap<Test.MyStruct, Test.MyEnum>();
+ di1.put(s11, Test.MyEnum.enum1);
+ di1.put(s12, Test.MyEnum.enum2);
+ Test.MyStruct s22 = new Test.MyStruct(2, 2);
+ Test.MyStruct s23 = new Test.MyStruct(2, 3);
+ java.util.Map<Test.MyStruct, Test.MyEnum> di2 = new java.util.HashMap<Test.MyStruct, Test.MyEnum>();
+ di2.put(s11, Test.MyEnum.enum1);
+ di2.put(s22, Test.MyEnum.enum3);
+ di2.put(s23, Test.MyEnum.enum2);
+
+ AMI_MyClass_opMyStructMyEnumDI cb = new AMI_MyClass_opMyStructMyEnumDI();
+ p.opMyStructMyEnumD_async(cb, di1, di2);
+ test(cb.check());
+ }
+
+ {
int[] lengths = { 0, 1, 2, 126, 127, 128, 129, 253, 254, 255, 256, 257, 1000 };
for(int l = 0; l < lengths.length; ++l)