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);
        }
 public void Deconstruct(out MockXmlWriter writer, out object source, out Type exception)
 {
     writer    = Writer;
     source    = Source;
     exception = Exception;
 }
 public SerializeTestData(MockXmlWriter writer, object source, Type exception)
 {
     Writer    = writer;
     Source    = source;
     Exception = exception;
 }
Example #9
0
        public void SerializeThrowsGivenNullArguments(MockXmlWriter writer, object source, Type exception)
        {
            IXmlSerializer serializer = XmlSerializer.GetBuilder(typeof(MockSource)).Build();

            Assert.Throws(exception, () => serializer.Serialize(writer, source));
        }