コード例 #1
0
        public void TestSerializeAttribute()
        {
            var value = new CheckAttribute();

            value.A = Rand.Default.RandInt();
            value.a = Rand.Default.RandInt();
            value.Setb(Rand.Default.RandInt());
            value.C = Rand.Default.RandInt();
            value.c = Rand.Default.RandInt();

            var writer = new ByteBufferWriter(BufferSerializer.Capacity(value));

            value.BufferWrite(writer);
            var valueSerialized = BufferSerializer.Read <CheckAttribute>(writer.GetBufferReader());

            Assert.AreNotEqual(value.A, valueSerialized.A, $"check serialize skip failed, value A: {value.A}, serialized value A: {valueSerialized.A}");
            Assert.AreNotEqual(value.a, valueSerialized.a, $"check serialize skip failed, value a: {value.a}, serialized value a: {valueSerialized.a}");
            Assert.AreEqual(value.Getb(), valueSerialized.Getb(), $"check serialize failed, value b: {value.Getb()}, serialized value b: {valueSerialized.Getb()}");
            Assert.AreEqual(value.C, valueSerialized.C, $"check serialize read failed, value C: {value.C}, serialized value C: {valueSerialized.C}");
            Assert.AreEqual(value.c, valueSerialized.c, $"check serialize read failed, value c: {value.c}, serialized value c: {valueSerialized.c}");

            valueSerialized = BufferSerializer.Merge <CheckAttribute>(writer.GetBufferReader(), default(CheckAttribute));
            Assert.AreNotEqual(value.A, valueSerialized.A, $"check serialize skip failed, value A: {value.A}, serialized value A: {valueSerialized.A}");
            Assert.AreNotEqual(value.a, valueSerialized.a, $"check serialize skip failed, value a: {value.a}, serialized value a: {valueSerialized.a}");
            Assert.AreEqual(value.Getb(), valueSerialized.Getb(), $"check serialize failed, value b: {value.Getb()}, serialized value b: {valueSerialized.Getb()}");
            Assert.AreEqual(value.C, valueSerialized.C, $"check serialize read failed, value C: {value.C}, serialized value C: {valueSerialized.C}");
            Assert.AreEqual(value.c, valueSerialized.c, $"check serialize read failed, value c: {value.c}, serialized value c: {valueSerialized.c}");

            var valueAs = BufferSerializer.Read <CheckAttributeAs>(writer.GetBufferReader());

            Assert.AreEqual(value.C, valueAs.A, $"check serialize As failed, value A: {value.C}, serialized value A: {valueAs.A}");
            Assert.AreEqual(value.c, valueAs.a, $"check serialize As failed, value a: {value.c}, serialized value a: {valueAs.a}");
            Assert.AreEqual(value.Getb(), valueAs.b, $"check serialize failed, value b: {value.Getb()}, serialized value b: {valueAs.b}");
        }