using System; using System.Collections.Generic; using Google.ProtocolBuffers.Serialization; using NUnit.Framework; namespace Google.ProtocolBuffers.Compatibility { [TestFixture] public class DictionaryCompatibilityTests : CompatibilityTests { protected override object SerializeMessage(TMessage message) { DictionaryWriter writer = new DictionaryWriter(); writer.WriteMessage(message); return writer.ToDictionary(); } protected override TBuilder DeserializeMessage(object message, TBuilder builder, ExtensionRegistry registry) { new DictionaryReader((IDictionary)message).Merge(builder); return builder; } protected override void AssertOutputEquals(object lhs, object rhs) { IDictionary left = (IDictionary)lhs; IDictionary right = (IDictionary)rhs; Assert.AreEqual( String.Join(",", new List(left.Keys).ToArray()), String.Join(",", new List(right.Keys).ToArray()) ); } } }