public static void Test_Can_Serialize_Then_Deserialize_Registered_Type() { //arrange TestWithNestedSerializableType typeToTest = new TestWithNestedSerializableType(); typeToTest.IntField = 5; typeToTest.SomeClassField = new TestWithNestedSerializableType.SomeClass() { SomeField = 8 }; ProtobufnetRegistry registry = new ProtobufnetRegistry(); typeToTest.ShouldntSerialize = 50643; //act registry.Register(typeof(TestWithNestedSerializableType)); //Serialize it MemoryStream ms = new MemoryStream(); ProtoBuf.Serializer.Serialize(ms, typeToTest); ms.Position = 0; //need to reset the stream TestWithNestedSerializableType deserializedType = ProtoBuf.Serializer.Deserialize<TestWithNestedSerializableType>(ms); //assert Assert.NotNull(deserializedType); Assert.AreEqual(typeToTest.IntField, deserializedType.IntField); Assert.NotNull(deserializedType.SomeClassField); Assert.AreEqual(typeToTest.SomeClassField.SomeField, deserializedType.SomeClassField.SomeField); Assert.AreNotEqual(typeToTest.ShouldntSerialize, deserializedType.ShouldntSerialize); }
public static void Test_Can_Serialize_Then_Deserialize_Registered_Type() { //arrange TestWithNestedSerializableType typeToTest = new TestWithNestedSerializableType(); typeToTest.IntField = 5; typeToTest.SomeClassField = new TestWithNestedSerializableType.SomeClass() { SomeField = 8 }; ProtobufnetRegistry registry = new ProtobufnetRegistry(); typeToTest.ShouldntSerialize = 50643; //act registry.Register(typeof(TestWithNestedSerializableType)); //Serialize it MemoryStream ms = new MemoryStream(); ProtoBuf.Serializer.Serialize(ms, typeToTest); ms.Position = 0; //need to reset the stream TestWithNestedSerializableType deserializedType = ProtoBuf.Serializer.Deserialize <TestWithNestedSerializableType>(ms); //assert Assert.NotNull(deserializedType); Assert.AreEqual(typeToTest.IntField, deserializedType.IntField); Assert.NotNull(deserializedType.SomeClassField); Assert.AreEqual(typeToTest.SomeClassField.SomeField, deserializedType.SomeClassField.SomeField); Assert.AreNotEqual(typeToTest.ShouldntSerialize, deserializedType.ShouldntSerialize); }