// // Copyright (c) ZeroC, Inc. All rights reserved. // using System.Collections.Generic; namespace Ice { namespace dictMapping { class Twoways { private static void test(bool b) { if(!b) { throw new System.Exception(); } } internal static void twoways(Ice.Communicator communicator, Test.MyClassPrx p) { { Dictionary i = new Dictionary(); i[0] = 1; i[1] = 0; Dictionary o; Dictionary r; r = p.opNV(i, out o); test(Ice.CollectionComparer.Equals(i, o)); test(Ice.CollectionComparer.Equals(i, r)); } { Dictionary i = new Dictionary(); i["a"] = "b"; i["b"] = "a"; Dictionary o; Dictionary r; r = p.opNR(i, out o); test(Ice.CollectionComparer.Equals(i, o)); test(Ice.CollectionComparer.Equals(i, r)); } { Dictionary> i = new Dictionary>(); Dictionary id = new Dictionary(); id[0] = 1; id[1] = 0; i["a"] = id; i["b"] = id; Dictionary> o; Dictionary> r; r = p.opNDV(i, out o); foreach(string key in i.Keys) { test(Ice.CollectionComparer.Equals(i[key], o[key])); test(Ice.CollectionComparer.Equals(i[key], r[key])); } } { Dictionary> i = new Dictionary>(); Dictionary id = new Dictionary(); id["a"] = "b"; id["b"] = "a"; i["a"] = id; i["b"] = id; Dictionary> o; Dictionary> r; r = p.opNDR(i, out o); foreach(string key in i.Keys) { test(Ice.CollectionComparer.Equals(i[key], o[key])); test(Ice.CollectionComparer.Equals(i[key], r[key])); } } { int[] ii = new int[] { 1, 2 }; Dictionary i = new Dictionary(); i["a"] = ii; i["b"] = ii; Dictionary o; Dictionary r; r = p.opNDAIS(i, out o); foreach(string key in i.Keys) { test(Ice.CollectionComparer.Equals(i[key], o[key])); test(Ice.CollectionComparer.Equals(i[key], r[key])); } } { List ii = new List(); ii.Add(1); ii.Add(2); Dictionary> i = new Dictionary>(); i["a"] = ii; i["b"] = ii; Dictionary> o; Dictionary> r; r = p.opNDGIS(i, out o); foreach(string key in i.Keys) { test(Ice.CollectionComparer.Equals(i[key], o[key])); test(Ice.CollectionComparer.Equals(i[key], r[key])); } } { string[] ii = new string[] { "a", "b" }; Dictionary i = new Dictionary(); i["a"] = ii; i["b"] = ii; Dictionary o; Dictionary r; r = p.opNDASS(i, out o); foreach(string key in i.Keys) { test(Ice.CollectionComparer.Equals(i[key], o[key])); test(Ice.CollectionComparer.Equals(i[key], r[key])); } } { List ii = new List(); ii.Add("a"); ii.Add("b"); Dictionary> i = new Dictionary>(); i["a"] = ii; i["b"] = ii; Dictionary> o; Dictionary> r; r = p.opNDGSS(i, out o); foreach(string key in i.Keys) { test(Ice.CollectionComparer.Equals(i[key], o[key])); test(Ice.CollectionComparer.Equals(i[key], r[key])); } } } } } }