Exemplo n.º 1
0
        public void TestNestedTypes()
        {
            var js = new JsonSerializer();
            js.JsonOptions.Indent = "";
            js.JsonOptions.FieldSeparator = "";
            js.JsonOptions.EnumAsString = true;

            var v1 = new SampleNested { E = SampleNested.NestedEnum.One, C = new SampleNested.NestedClass() };
            var result1 = js.ToString(v1);
            Assert.AreEqual("{\"C\":{\"Z\":0},\"E\":\"One\"}", result1);

            var w1 = (SampleNested)SampleNested_JsonDeserializer.Instance.FromString(result1);
            Assert.AreEqual(v1.E, w1.E);
            Assert.AreEqual(v1.C.Z, w1.C.Z);
        }
Exemplo n.º 2
0
        public void TestNestedTypes()
        {
            var bs = new BinarySerializer();

            var v1 = new SampleNested { E = SampleNested.NestedEnum.One, C = new SampleNested.NestedClass() };
            var result1 = bs.ToBytes(v1);
            Assert.AreEqual(
                "20 01 00 " + XS(typeof(SampleNested)) + " 03 00 " +
                XS("C", RoughType.Record, "E", RoughType.Int, "Z", RoughType.Sequence) + " 05" +
                " 01 00 02 00 " + XS("YuzuTest.SampleNested+NestedClass, YuzuTest") +
                " 01 00 " + XS("Z", RoughType.Int) +
                " 01 00 00 00 00 00 00 00 " +
                "02 00 00 00 00 00 00 00",
                XS(result1));

            CheckDeserializers(bd => {
                var w1 = (SampleNested)bd.FromBytes(result1);
                Assert.AreEqual(v1.E, w1.E);
                Assert.AreEqual(v1.C.Z, w1.C.Z);
            });
        }