using System; using System.Collections.Generic; using System.IO; using System.Text; using Google.ProtocolBuffers.Serialization; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Google.ProtocolBuffers.Compatibility { [TestClass] 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()) ); } } }