public void TestSerialize() { var dict = new BinaryTreeDictionary <int, string>(); dict.Add(1, "first value"); dict.Add(3, "third value"); dict.Add(7, "seventh value"); var name = "testFile"; var stream = new MemoryStream(); var storageMock = new Mock <IStorage>(); storageMock.Setup(s => s.GetWriteStream(name)) .Returns(stream); var serializer = new BinarySearchTreeSerializer(storageMock.Object); serializer.Save(name, dict, closeStream: false); stream.Position = 0; var serialized = Encoding.ASCII.GetString(stream.ToArray()); Assert.AreEqual(@"[{""Key"":1,""Value"":""first value""},{""Key"":3,""Value"":""third value""},{""Key"":7,""Value"":""seventh value""}]", serialized); }
public void TestSerializeAndDeserialize() { var dict = new BinaryTreeDictionary <int, string>(); dict.Add(1, "first value"); dict.Add(3, "third value"); dict.Add(7, "seventh value"); var name = "testFile"; var stream = new MemoryStream(); var storageMock = new Mock <IStorage>(); storageMock.Setup(s => s.GetWriteStream(name)) .Returns(stream); storageMock.Setup(s => s.GetReadStream(name)) .Returns(stream); var serializer = new BinarySearchTreeSerializer(storageMock.Object); serializer.Save(name, dict, closeStream: false); stream.Position = 0; var newDict = serializer.Load <int, string>(name); CollectionAssert.AreEquivalent(dict.ToList(), newDict.ToList()); }