Example #1
0
        public void TestGenerated()
        {
            const string str =
                "{\n\"S1\":" +
                "{\n\"X\":345,\n\"Y\":\"test\"\n},\n" +
                "\"F\":222,\n" +
                "\"S2\":" +
                "{\n\"X\":-346,\n\"Y\":\"test1\"\n}\n" +
                "}";

            var jd = new Sample3_JsonDeserializer();
            var w = (Sample3)jd.FromString(str);
            Assert.AreEqual(345, w.S1.X);
            Assert.AreEqual("test", w.S1.Y);
            Assert.AreEqual(222, w.F);
            Assert.AreEqual(-346, w.S2.X);
            Assert.AreEqual("test1", w.S2.Y);

            var jdg = new JsonDeserializerGenerator();
            jdg.Assembly = GetType().Assembly;

            var w1 = new Sample1();
            jdg.FromString(w1, "{\"X\":88}");
            Assert.IsInstanceOfType(w1, typeof(Sample1));
            Assert.AreEqual(88, w1.X);

            var w2 = jdg.FromString("{\"class\":\"YuzuTest.Sample1, YuzuTest\",\"X\":99}");
            Assert.IsInstanceOfType(w2, typeof(Sample1));
            Assert.AreEqual(99, ((Sample1)w2).X);

            var w3 = new SampleMemberI();
            jdg.FromString(w3, "{\"class\":\"YuzuTest.SampleMemberI, YuzuTest\"}");
            Assert.AreEqual(71, ((SampleMemberI)w3).X);
        }
Example #2
0
        public void TestGenerated()
        {
            var str =
                "20 01 00 " + XS(typeof(Sample3)) + " 03 00 " +
                XS("S1", RoughType.Record, "F", RoughType.Int, "S2", RoughType.Record) +
                " 01 00 02 00 " + XS(typeof(Sample1)) +
                " 02 00 " + XS("X", RoughType.Int, "Y", RoughType.String) +
                " 01 00 59 01 00 00 02 00 " + XS("test") + " 00 00 " +
                "02 00 DE 00 00 00 " +
                "03 00 03 00 " + XS(typeof(Sample2)) +
                " 02 00 " + XS("X", RoughType.Int, "Y", RoughType.String) +
                " 01 00 A6 FE FF FF 02 00 " + XS("test1") + " 00 00 00 00";

            var bd = new BinaryDeserializerGen();
            bd.Options.TagMode = TagMode.Names;
            var w = (Sample3)bd.FromBytes(SX(str));
            Assert.AreEqual(345, w.S1.X);
            Assert.AreEqual("test", w.S1.Y);
            Assert.AreEqual(222, w.F);
            Assert.AreEqual(-346, w.S2.X);
            Assert.AreEqual("test1", w.S2.Y);

            var w1 = new Sample1();
            bd.FromBytes(w1, SX("20 02 00 01 00 58 00 00 00 00 00"));
            Assert.IsInstanceOfType(w1, typeof(Sample1));
            Assert.AreEqual(88, w1.X);

            var w2 = bd.FromBytes(SX("20 02 00 01 00 63 00 00 00 00 00"));
            Assert.IsInstanceOfType(w2, typeof(Sample1));
            Assert.AreEqual(99, ((Sample1)w2).X);

            var w3 = new SampleMemberI();
            bd.FromBytes(w3, SX(
                "20 04 00 " + XS(typeof(SampleMemberI)) + " 01 00 " + XS("X", RoughType.Int) + " 00 00"));
            Assert.AreEqual(71, ((SampleMemberI)w3).X);
        }