예제 #1
0
파일: TestJson.cs 프로젝트: klenin/Yuzu
        public void TestNullField()
        {
            var js = new JsonSerializer();
            var sample = new SampleWithNullField();
            var s = js.ToString(sample);
            Assert.AreEqual("{\n\t\"About\":null\n}", s);
            var jd = new JsonDeserializer();
            var w = new SampleWithNullField { About = "zzz" };
            jd.FromString(w, s);
            Assert.AreEqual(sample.About, w.About);

            var wg = (SampleWithNullFieldCompact)
                SampleWithNullFieldCompact_JsonDeserializer.Instance.FromString("[null]");
            Assert.AreEqual(null, wg.N);
        }
예제 #2
0
파일: TestBinary.cs 프로젝트: klenin/Yuzu
        public void TestNullField()
        {
            var bs = new BinarySerializer();
            var sample = new SampleWithNullField();
            var result = bs.ToBytes(sample);
            Assert.AreEqual(
                "20 01 00 " + XS(typeof(SampleWithNullField)) + " 01 00 " + XS("About", RoughType.String) +
                " 01 00 00 01 00 00",
                XS(result));
            var bd = new BinaryDeserializer();
            var bdg = new BinaryDeserializerGen();
            var w = new SampleWithNullField { About = "zzz" };
            bd.FromBytes(w, result);
            Assert.AreEqual(sample.About, w.About);

            bd.FromBytes(w, new byte[] { 0x20, 01, 00, 01, 00, 00, 00, 00, 00 });
            Assert.AreEqual("", w.About);

            var wg = (SampleWithNullFieldCompact)bdg.FromBytes(SX(
                "20 01 00 " + XS(typeof(SampleWithNullFieldCompact)) + " 01 00 " + XS("N", RoughType.Record) +
                " 00 00 00 00"));
            Assert.AreEqual(null, wg.N);
        }