private static void TestDataContractAndMessagePackMemberAndNonSerializedAreMixedCore(SerializationMethod method) { var context = new SerializationContext() { SerializationMethod = method }; using (var buffer = new MemoryStream()) { var target = new MessagePackMemberAndDataMemberMixedTarget(); target.ShouldSerialized1 = 111; target.ShouldSerialized2 = 222; target.ShouldSerialized3 = 333; target.ShouldNotSerialized1 = 444; target.ShouldNotSerialized2 = 555; var serializer = MessagePackSerializer.Create <MessagePackMemberAndDataMemberMixedTarget>(context); serializer.Pack(buffer, target); buffer.Position = 0; var intermediate = Unpacking.UnpackObject(buffer); if (method == SerializationMethod.Array) { var asArray = intermediate.AsList(); Assert.That(asArray.Count, Is.EqualTo(3)); Assert.That(asArray[0] == target.ShouldSerialized1); Assert.That(asArray[1] == target.ShouldSerialized2); Assert.That(asArray[2] == target.ShouldSerialized3); } else { var asMap = intermediate.AsDictionary(); Assert.That(asMap.Count, Is.EqualTo(3)); Assert.That(asMap["ShouldSerialized1"] == target.ShouldSerialized1); Assert.That(asMap["ShouldSerialized2"] == target.ShouldSerialized2); Assert.That(asMap["ShouldSerialized3"] == target.ShouldSerialized3); } buffer.Position = 0; var result = serializer.Unpack(buffer); Assert.That(result.ShouldSerialized1, Is.EqualTo(target.ShouldSerialized1)); Assert.That(result.ShouldSerialized2, Is.EqualTo(target.ShouldSerialized2)); Assert.That(result.ShouldSerialized3, Is.EqualTo(target.ShouldSerialized3)); Assert.That(result.ShouldNotSerialized1, Is.Not.EqualTo(target.ShouldNotSerialized1).And.EqualTo(0)); Assert.That(result.ShouldNotSerialized2, Is.Not.EqualTo(target.ShouldNotSerialized2).And.EqualTo(0)); } }
private static void TestDataContractAndMessagePackMemberAndNonSerializedAreMixedCore( SerializationMethod method ) { var context = new SerializationContext() { SerializationMethod = method }; using ( var buffer = new MemoryStream() ) { var target = new MessagePackMemberAndDataMemberMixedTarget(); target.ShouldSerialized1 = 111; target.ShouldSerialized2 = 222; target.ShouldSerialized3 = 333; target.ShouldNotSerialized1 = 444; target.ShouldNotSerialized2 = 555; var serializer = MessagePackSerializer.Create<MessagePackMemberAndDataMemberMixedTarget>( context ); serializer.Pack( buffer, target ); buffer.Position = 0; var intermediate = Unpacking.UnpackObject( buffer ); if ( method == SerializationMethod.Array ) { var asArray = intermediate.AsList(); Assert.That( asArray.Count, Is.EqualTo( 3 ) ); Assert.That( asArray[ 0 ] == target.ShouldSerialized1 ); Assert.That( asArray[ 1 ] == target.ShouldSerialized2 ); Assert.That( asArray[ 2 ] == target.ShouldSerialized3 ); } else { var asMap = intermediate.AsDictionary(); Assert.That( asMap.Count, Is.EqualTo( 3 ) ); Assert.That( asMap[ "ShouldSerialized1" ] == target.ShouldSerialized1 ); Assert.That( asMap[ "ShouldSerialized2" ] == target.ShouldSerialized2 ); Assert.That( asMap[ "ShouldSerialized3" ] == target.ShouldSerialized3 ); } buffer.Position = 0; var result = serializer.Unpack( buffer ); Assert.That( result.ShouldSerialized1, Is.EqualTo( target.ShouldSerialized1 ) ); Assert.That( result.ShouldSerialized2, Is.EqualTo( target.ShouldSerialized2 ) ); Assert.That( result.ShouldSerialized3, Is.EqualTo( target.ShouldSerialized3 ) ); Assert.That( result.ShouldNotSerialized1, Is.Not.EqualTo( target.ShouldNotSerialized1 ).And.EqualTo( 0 ) ); Assert.That( result.ShouldNotSerialized2, Is.Not.EqualTo( target.ShouldNotSerialized2 ).And.EqualTo( 0 ) ); } }