/// <summary> /// Calls: /// - BinaryFormatterAssert.Roundtrip(item) /// - XmlSerializerAssert.Roundtrip(item) /// - DataContractSerializerAssert.Roundtrip(item) /// </summary> /// <returns>The roundtripped results.</returns> public static RoundtripResults <T> RoundtripAll <T>(T item) { var binary = BinaryFormatterAssert.Roundtrip(item); var xmlSerializer = XmlSerializerAssert.Roundtrip(item); var dataContract = DataContractSerializerAssert.Roundtrip(item); return(new RoundtripResults <T>(binary, xmlSerializer, dataContract)); }
public void FromXml() { var xml = "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n" + "<Dummy xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" + " <Value>2</Value>\r\n" + "</Dummy>"; var dummy = XmlSerializerAssert.FromXml <Dummy>(xml); Assert.AreEqual(2, dummy.Value); }
public void HappyPath() { var actual = new Dummy { Value = 2 }; var roundtrip = XmlSerializerAssert.Roundtrip(actual); Assert.AreEqual(roundtrip.Value, actual.Value); FieldAssert.Equal(actual, roundtrip); }
public void List() { var dummies = new List <Dummy> { new Dummy(1), new Dummy(1) }; var xml = XmlSerializerAssert.ToXml(dummies) .Escape(); Console.Write(xml); }
public void TestName() { ////var xml = "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n" + //// "<Dummy xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" + //// " <Value>2</Value>\r\n" + //// "</Dummy>"; var dummy = new Dummy(2); var escape = XmlSerializerAssert.ToXml(dummy).Escape(); Console.WriteLine(escape); }
public void EqualItems() { var expected = new DataContractDummy { Value = 2 }; var actual = new DataContractDummy { Value = 2 }; XmlSerializerAssert.Equal(expected, actual); }
public void EqualXmlAttributeClass() { var actual = new XmlAttributeClass { Value = 2 }; var expectedXml = "<XmlAttributeClass Value=\"2\" />"; var roundtrip = XmlSerializerAssert.Equal(expectedXml, actual, XmlAssertOptions.IgnoreNamespaces | XmlAssertOptions.IgnoreDeclaration); Assert.AreEqual(roundtrip.Value, actual.Value); FieldAssert.Equal(actual, roundtrip); }
public void RoundtripForgotReadEndElementThrows() { var actual = new ForgotReadEndElement { Value = 2 }; var ex = Assert.Throws <AssertException>(() => XmlSerializerAssert.Roundtrip(actual)); var expectedMessage = " Roundtrip of item in ContainerClass Failed.\r\n" + " This means there is an error in serialization.\r\n" + " If you are implementing IXmlSerializable check that you handle ReadEndElement properly as it is a common source of bugs."; Assert.AreEqual(expectedMessage, ex.Message); }
public void Equal() { var actual = new Dummy { Value = 2 }; var expectedXml = "<Dummy>\r\n" + " <Value>2</Value>\r\n" + "</Dummy>"; var roundtrip = XmlSerializerAssert.Equal(expectedXml, actual, XmlAssertOptions.IgnoreNamespaces | XmlAssertOptions.IgnoreDeclaration); Assert.AreEqual(roundtrip.Value, actual.Value); FieldAssert.Equal(actual, roundtrip); }
public void ToEscapedXml() { var dummy = new Dummy { Value = 2 }; var xml = XmlSerializerAssert.ToEscapedXml(dummy); var expected = "\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-16\\\"?>\\r\\n\" +\r\n" + "\"<Dummy xmlns:xsd=\\\"http://www.w3.org/2001/XMLSchema\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\">\\r\\n\" +\r\n" + "\" <Value>2</Value>\\r\\n\" +\r\n" + "\"</Dummy>\""; Assert.AreEqual(expected, xml); }
public void EqualReadingOutsideEndElementThrows() { var actual = new ReadingOutsideEndElement { Value = 2 }; var expectedXml = "<ReadingOutsideEndElement><Value>2</Value></ReadingOutsideEndElement>"; var ex = Assert.Throws <AssertException>(() => XmlSerializerAssert.Equal(expectedXml, actual, XmlAssertOptions.IgnoreNamespaces | XmlAssertOptions.IgnoreDeclaration)); var expectedMessage = " Roundtrip of item in ContainerClass Failed.\r\n" + " This means there is an error in serialization.\r\n" + " If you are implementing IXmlSerializable check that you handle ReadEndElement properly as it is a common source of bugs."; Assert.AreEqual(expectedMessage, ex.Message); }
public void RoundtripForgotReadElementThrows() { var actual = new ForgotReadElement { Value = 2 }; var ex = Assert.Throws <AssertException>(() => XmlSerializerAssert.Roundtrip(actual)); var expectedMessage = " Simple roundtrip failed. Source is not equal to roundtripped.\r\n" + " AssertException: Found this difference between expected and actual:\r\n" + " expected.value: 2\r\n" + " actual.value: 0"; Assert.AreEqual(expectedMessage, ex.Message); }
public void EqualWithAttributeAndDeclaration() { var actual = new Dummy { Value = 2 }; var expectedXml = "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n" + "<Dummy xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" + " <Value>2</Value>\r\n" + "</Dummy>"; var roundtrip = XmlSerializerAssert.Equal(expectedXml, actual); Assert.AreEqual(roundtrip.Value, actual.Value); FieldAssert.Equal(actual, roundtrip); }
public void ToXml() { var dummy = new Dummy { Value = 2 }; var xml = XmlSerializerAssert.ToXml(dummy); Console.Write(xml); var expected = "<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n" + "<Dummy xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" + " <Value>2</Value>\r\n" + "</Dummy>"; Assert.AreEqual(expected, xml); }
public void NotEqualItems() { var expected = new DataContractDummy { Value = 1 }; var actual = new DataContractDummy { Value = 2 }; var ex = Assert.Throws <AssertException>(() => XmlSerializerAssert.Equal(expected, actual)); var expectedMessage = " Xml differ at line 3 index 7.\r\n" + " Expected: 3| <Value>1</Value>\r\n" + " But was: 3| <Value>2</Value>\r\n" + " --------------------^"; Assert.AreEqual(expectedMessage, ex.Message); }
public void EqualThrowsOnMissingDeclarationWhenVerbatim() { var actual = new Dummy { Value = 2 }; var expectedXml = "<Dummy>\r\n" + " <Value>2</Value>\r\n" + "</Dummy>"; var ex = Assert.Throws <AssertException>(() => XmlSerializerAssert.Equal(expectedXml, actual, XmlAssertOptions.Verbatim)); var expectedMessage = " Xml differ at line 1 index 1.\r\n" + " Expected: 1| <Dummy>\r\n" + " But was: 1| <?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n" + " --------------^"; Assert.AreEqual(expectedMessage, ex.Message); }