Пример #1
0
        //[Test(Description = "test mixed list")]
        public void testMixedListField()
        {
            GenericListContainer input = new GenericListContainer("");

            input.objectListPropA = new List <object>();
            //input.objectListPropA.Add('3');
            //input.objectListPropA.Add(4);
            input.objectListPropA.Add("5");
            Object2Json o2j = mapping.getObject2Json();

            //o2j.ExplorerFactory = () => { return new TypeHintingObjectExplorerImpl(); };
            o2j.writeLeafValue = (writer, to, propertyName) =>
            {
                if (to != null)
                {
                    writer.Write("/*");
                    writer.Write(to.GetType().Name);
                    writer.Write("*/");
                }
                Object2Json.defaultWriteLeafValue(writer, to, propertyName);
            };

            string json = o2j.toJson(input);


            GenericListContainer output = (GenericListContainer)mapping.getJson2Object().toObject(json, typeof(GenericListContainer));

            Func <GenericListContainer, int, object> extractValue = (glc, index) =>
            { return(glc.objectListPropA[index]); };

            for (int done = 0; done < output.objectListPropA.Count; done++)
            {
                Assert.AreEqual(extractValue(input, done), extractValue(output, done), "checking index " + done);
            }
        }
Пример #2
0
        public void testGenericListObjectFields()
        {
            GenericListContainer input = new GenericListContainer("");

            input.objectListPropA = new List <object>();
            input.objectListPropA.Add(new GenericListContainer("0"));
            input.objectListPropA.Add(new GenericListContainer("b"));
            input.objectListPropA.Add(new GenericListContainer("iii"));
            string json = mapping.getObject2Json().toJson(input);

            GenericListContainer output = (GenericListContainer)mapping.getJson2Object().toObject(json, typeof(GenericListContainer));

            Func <GenericListContainer, int, string> extractValue = (glc, index) =>
            { return(glc.objectListPropA[index].ToString()); };

            for (int done = 0; done < output.objectListPropA.Count; done++)
            {
                Assert.AreEqual(extractValue(input, done), extractValue(output, done), "checking index " + done);
            }
        }
Пример #3
0
        public void testGenericListPrimitiveFields()
        {
            GenericListContainer input = new GenericListContainer("");

            input.intListPropB = new List <int>();
            input.intListPropB.Add(3);
            input.intListPropB.Add(4);
            input.intListPropB.Add(5);
            string json = mapping.getObject2Json().toJson(input);

            GenericListContainer output = (GenericListContainer)mapping.getJson2Object().toObject(json, typeof(GenericListContainer));

            Func <GenericListContainer, int, int> extractValue = (glc, index) =>
            { return(glc.intListPropB[index]); };

            for (int done = 0; done < output.intListPropB.Count; done++)
            {
                Assert.AreEqual(extractValue(input, done), extractValue(output, done), "checking index " + done);
            }
        }
Пример #4
0
        public void testMapObjects()
        {
            GenericListContainer input = new GenericListContainer("");

            input.stringToStringMapPropC      = new Dictionary <string, string>();
            input.stringToStringMapPropC["0"] = "zero";
            input.stringToStringMapPropC["1"] = "one";
            input.stringToStringMapPropC["2"] = "two";
            input.stringToStringMapPropC["3"] = "three";

            input.intToStringMapPropC    = new Dictionary <int, string>();
            input.intToStringMapPropC[0] = "zero";
            input.intToStringMapPropC[1] = "one";
            input.intToStringMapPropC[2] = "two";
            input.intToStringMapPropC[3] = "three";


            string json = mapping.getObject2Json().toJson(input);

            GenericListContainer output = (GenericListContainer)mapping.getJson2Object().toObject(json, typeof(GenericListContainer));

            Func <GenericListContainer, string, string> extractValue;

            extractValue = (glc, strKey) => { return(glc.stringToStringMapPropC[strKey]); };
            foreach (string strKey in  input.stringToStringMapPropC.Keys)
            {
                Assert.AreEqual(extractValue(input, strKey), extractValue(output, strKey), "checking key " + strKey);
            }

            Func <GenericListContainer, int, string> extractIValue;

            extractIValue = (glc, iKey) => { return(glc.intToStringMapPropC[iKey]); };
            foreach (int iKey in input.intToStringMapPropC.Keys)
            {
                Assert.AreEqual(extractIValue(input, iKey), extractIValue(output, iKey), "checking key " + iKey);
            }
        }
        //[Test(Description = "test mixed list")]
        public void testMixedListField()
        {
            GenericListContainer input = new GenericListContainer("");

            input.objectListPropA = new List<object>();
            //input.objectListPropA.Add('3');
            //input.objectListPropA.Add(4);
            input.objectListPropA.Add("5");
            Object2Json o2j = mapping.getObject2Json();
            //o2j.ExplorerFactory = () => { return new TypeHintingObjectExplorerImpl(); };
            o2j.writeLeafValue = (writer, to, propertyName) =>
                {
                if (to!=null)
                {
                    writer.Write("/*");
                    writer.Write(to.GetType().Name);
                    writer.Write("*/");
                }
                Object2Json.defaultWriteLeafValue(writer, to, propertyName);
                };

            string json = o2j.toJson(input);

            GenericListContainer output = (GenericListContainer)mapping.getJson2Object().toObject(json, typeof(GenericListContainer));

            Func<GenericListContainer, int, object> extractValue = (glc, index) =>
            { return glc.objectListPropA[index]; };

            for (int done = 0; done < output.objectListPropA.Count; done++)
            {
                Assert.AreEqual(extractValue(input, done), extractValue(output, done), "checking index " + done);
            }
        }
        public void testMapObjects()
        {
            GenericListContainer input = new GenericListContainer("");

            input.stringToStringMapPropC = new Dictionary<string, string>();
            input.stringToStringMapPropC["0"]= "zero";
            input.stringToStringMapPropC["1"] = "one";
            input.stringToStringMapPropC["2"] = "two";
            input.stringToStringMapPropC["3"] = "three";

            input.intToStringMapPropC = new Dictionary<int, string>();
            input.intToStringMapPropC[0] = "zero";
            input.intToStringMapPropC[1] = "one";
            input.intToStringMapPropC[2] = "two";
            input.intToStringMapPropC[3] = "three";

            string json = mapping.getObject2Json().toJson(input);

            GenericListContainer output = (GenericListContainer)mapping.getJson2Object().toObject(json, typeof(GenericListContainer));

            Func<GenericListContainer, string, string> extractValue;

            extractValue = (glc, strKey) => { return glc.stringToStringMapPropC[strKey]; };
            foreach (string strKey in  input.stringToStringMapPropC.Keys)
            {
                Assert.AreEqual(extractValue(input, strKey), extractValue(output, strKey), "checking key " + strKey);
            }

            Func<GenericListContainer, int, string> extractIValue;
            extractIValue = (glc, iKey) => { return glc.intToStringMapPropC[iKey]; };
            foreach (int iKey in input.intToStringMapPropC.Keys)
            {
                Assert.AreEqual(extractIValue(input, iKey), extractIValue(output, iKey), "checking key " + iKey);
            }
        }
        public void testGenericListPrimitiveFields()
        {
            GenericListContainer input = new GenericListContainer("");

            input.intListPropB = new List<int>();
            input.intListPropB.Add(3);
            input.intListPropB.Add(4);
            input.intListPropB.Add(5);
            string json = mapping.getObject2Json().toJson(input);

            GenericListContainer output = (GenericListContainer)mapping.getJson2Object().toObject(json, typeof(GenericListContainer));

            Func<GenericListContainer, int, int> extractValue = (glc, index) =>
            { return glc.intListPropB[index]; };

            for (int done = 0; done < output.intListPropB.Count; done++)
            {
                Assert.AreEqual(extractValue(input, done), extractValue(output, done), "checking index " + done);
            }
        }
        public void testGenericListObjectFields()
        {
            GenericListContainer input = new GenericListContainer("");

            input.objectListPropA = new List<object>();
            input.objectListPropA.Add(new GenericListContainer("0"));
            input.objectListPropA.Add(new GenericListContainer("b"));
            input.objectListPropA.Add(new GenericListContainer("iii"));
            string json = mapping.getObject2Json().toJson(input);

            GenericListContainer output = (GenericListContainer)mapping.getJson2Object().toObject(json, typeof(GenericListContainer));

            Func<GenericListContainer, int, string> extractValue = (glc, index) =>
                { return glc.objectListPropA[index].ToString(); };

            for (int done=0; done<output.objectListPropA.Count; done++)
            {
                Assert.AreEqual(extractValue(input, done), extractValue(output, done), "checking index " + done);
            }
        }