public void Serialize() { string expected = "Start " + "MockSource " + "IsValid True IsValid " + "IntNumber 42 IntNumber " + $"DoubleNumber {double.MaxValue.ToString(CultureInfo.InvariantCulture)} DoubleNumber " + $"LongNumber {long.MaxValue} LongNumber " + "Name Source Name " + "Items " + "Item Name i1 Name Item " + "Item Name i2 Name Item " + "Items " + "DoubleArray " + "Item 1 Item " + "Item 2 Item " + "DoubleArray " + "MockSource " + "End"; var source = new MockSource(); var writer = new MockXmlWriter(); IXmlSerializer serializer = XmlSerializer.GetBuilder(typeof(MockSource)).Build(); serializer.Serialize(writer, source); string actual = writer.ToString(); Assert.Equal(expected, actual); }
public void DoesNotWriteUnwriteableCollection() { IXmlWriter writer = new MockXmlWriter(); IXmlSerializer serializer = XmlSerializer.GetBuilder(typeof(UnwriteableCollectionSource)).Build(); serializer.Serialize(writer, new UnwriteableCollectionSource()); string actual = writer.ToString(); Assert.DoesNotContain(actual, "Items"); }
public void WritesElementStringGivenSimpleCollectionItem() { IXmlWriter writer = new MockXmlWriter(); IXmlSerializer serializer = XmlSerializer.GetBuilder(typeof(SimpleItemSource)).Build(); serializer.Serialize(writer, new SimpleItemSource()); string actual = writer.ToString(); Assert.Contains("Item s1 Item", actual); Assert.Contains("Item s2 Item", actual); }
public void WithExcludedProperty() { var source = new MockSource(); var writer = new MockXmlWriter(); var excludedProperty = nameof(MockSource.IntNumber); IXmlSerializer serializer = XmlSerializer.GetBuilder(typeof(MockSource)) .WithExcludedProperty(excludedProperty) .Build(); serializer.Serialize(writer, source); string actual = writer.ToString(); Assert.DoesNotContain(excludedProperty, actual); }
public void WithCollectionItemName() { var source = new MockSource(); var writer = new MockXmlWriter(); var itemName = "CustomItem"; IXmlSerializer serializer = XmlSerializer.GetBuilder(typeof(MockSource)) .WithCollectionItemName(nameof(MockSource.Items), itemName) .Build(); serializer.Serialize(writer, source); string actual = writer.ToString(); Assert.Contains(itemName, actual); Assert.DoesNotContain(nameof(XmlSerializer.DefaultItemName), actual); }
public void WithRootName() { var source = new MockSource(); var writer = new MockXmlWriter(); string rootName = "CustomRoot"; IXmlSerializer serializer = XmlSerializer.GetBuilder(typeof(MockSource)) .WithRootName(rootName) .Build(); serializer.Serialize(writer, source); string actual = writer.ToString(); Assert.Contains(rootName, actual); Assert.DoesNotContain(nameof(MockSource), actual); }