//[TestMethod] public void XmlSerializerDictionarySerializeTest() { var data = new DataWithDictionary(); data.Items.Add("item0", new Item() { Text = "Item0", }); data.Items.Add("item1", new Item() { Text = "Item1", }); data.Items.Add("null", null); data.Items.Add("item2", new Item() { Text = "Item2", }); var serializer = new XmlSerializer(typeof(DataWithDictionary)); using var stream = new MemoryStream(); serializer.Serialize(stream, data); var xml = Encoding.UTF8.GetString(stream.GetBuffer()); }
public void DataContractSerializerDictionarySerializeTest() { var data = new DataWithDictionary(); data.Items.Add("item0", new Item() { Text = "Item0", }); data.Items.Add("item1", new Item() { Text = "Item1", }); data.Items.Add("null", null); data.Items.Add("item2", new Derived() { Text = "Item2", DerivedText = "Derived" }); data.Items.Add("item00", data.Items["item0"]); var serializer = new DataContractSerializer(typeof(DataWithDictionary)); using var stream = new MemoryStream(); using var writer = XmlWriter.Create(stream, DefaultXmlWriterSettings); serializer.WriteObject(writer, data); writer.Flush(); var xml = Encoding.UTF8.GetString(stream.GetBuffer()); stream.Position = 0; data = (DataWithDictionary)serializer.ReadObject(stream); Assert.IsFalse(ReferenceEquals(data.Items["item00"], data.Items["item0"])); }