public void XmlSerializerCollectionSerializeTest() { var data = new DataWithCollection(); data.Items.Add(new Item() { Text = "Item0", }); data.Items.Add(new Item() { Text = "Item1", }); data.Items.Add(null); data.Items.Add(new Item() { Text = "Item2", }); var serializer = new XmlSerializer(typeof(DataWithCollection)); using var stream = new MemoryStream(); serializer.Serialize(stream, data); var xml = Encoding.UTF8.GetString(stream.GetBuffer()); }
public void DataContractSerializerCollectionSerializeTest() { var data = new DataWithCollection(); data.Items.Add(new Item() { Text = "Item0", }); data.Items.Add(new Item() { Text = "Item1", }); data.Items.Add(null); data.Items.Add(new Derived() { Text = "Item2", DerivedText = "Derived" }); data.Items.Add(data.Items[0]); var serializer = new DataContractSerializer(typeof(DataWithCollection)); 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 = (DataWithCollection)serializer.ReadObject(stream); Assert.IsFalse(ReferenceEquals(data.Items[4], data.Items[0])); }