public void Simple() { XmlDocument sdoc = new XmlDocument(); XmlElement selem = sdoc.CreateElement(tagname); selem.InnerText = content; StringBuilder syndication_string = new StringBuilder(); XmlWriterSettings settings = new XmlWriterSettings(); XmlWriter syndication = XmlWriter.Create(syndication_string, settings); // Simple tests XmlSyndicationContent sxml = new XmlSyndicationContent(type, selem); Assert.AreEqual(typeof(XmlSyndicationContent), sxml.GetType(), "#S1"); Assert.AreEqual(type, sxml.Type.ToString(), "#S2"); // Check correct invalid argument rejection try { sxml.WriteTo(null, "", ""); Assert.Fail("#S3 Expected an ArgumentNullException to be thrown."); } catch (ArgumentNullException) { } try { sxml.WriteTo(syndication, "", ""); Assert.Fail("#S4 Expected an ArgumentException to be thrown."); } catch (ArgumentException) { } syndication.Close(); }
public void WriteTo() { XmlSyndicationContent t = new XmlSyndicationContent("text/plain", 6, (XmlObjectSerializer)null); StringWriter sw = new StringWriter(); using (XmlWriter w = CreateWriter(sw)) t.WriteTo(w, "root", String.Empty); Assert.AreEqual("<root type=\"text/plain\"><int xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">6</int></root>", sw.ToString()); }
public void XmlSerializerExtension() { DateTime date = new DateTime(2007, 5, 22); global::System.Xml.Serialization.XmlSerializer xs = new global::System.Xml.Serialization.XmlSerializer(typeof(Content)); Content item = new Content(); string item_object = "Content"; // tag name for serialized object // fill object with some data item.author = author; item.comment = comment; item.date = date; XmlSyndicationContent se = new XmlSyndicationContent(type, item, xs); Assert.AreEqual(typeof(XmlSyndicationContent), se.GetType(), "#SE1"); Assert.AreEqual(type, se.Type.ToString(), "#SE2"); Assert.AreSame(item, se.Extension.Object, "#SE3"); Assert.AreEqual(SyndicationElementExtensionKind.XmlSerializer, se.Extension.ExtensionKind, "#SE4"); Assert.AreSame(xs, se.Extension.ObjectSerializer, "#SE5"); // Create fake IO using stringbuilders StringBuilder object_string = new StringBuilder(); StringBuilder syndication_string = new StringBuilder(); XmlWriterSettings settings = new XmlWriterSettings(); XmlWriter serobj = XmlWriter.Create(object_string, settings); XmlWriter syndication = XmlWriter.Create(syndication_string, settings); xs.Serialize(serobj, item); se.WriteTo(syndication, documentname, ""); serobj.Close(); syndication.Close(); // Pickout the 'Content' tag from original serialized object and syndicated document XmlDocument syndoc = new XmlDocument(); XmlDocument serdoc = new XmlDocument(); syndoc.LoadXml(syndication_string.ToString()); XmlNodeList synresult = syndoc.GetElementsByTagName(item_object); XmlNodeList syntype = syndoc.GetElementsByTagName(documentname); serdoc.LoadXml(object_string.ToString()); XmlNodeList serresult = serdoc.GetElementsByTagName(item_object); // Check document type Assert.AreEqual(type, syntype.Item(0).Attributes.GetNamedItem("type").Value.ToString(), "SE6"); // Check content Assert.AreEqual(serresult.Item(0).OuterXml.ToString(), synresult.Item(0).OuterXml.ToString(), "SE6"); }
public void XmlElementExtension() { XmlDocument xdoc = new XmlDocument(); XmlElement xelem = xdoc.CreateElement(tagname); xelem.InnerText = content; // Same as Simple tests as setup for XmlElementExtension tests XmlSyndicationContent xxml = new XmlSyndicationContent(type, xelem); Assert.AreEqual(typeof(XmlSyndicationContent), xxml.GetType(), "#XE1"); Assert.AreEqual(type, xxml.Type.ToString(), "#XE2"); Assert.AreSame(xelem, xxml.Extension.Object, "#XE3"); Assert.AreEqual(SyndicationElementExtensionKind.XmlElement, xxml.Extension.ExtensionKind, "#XE4"); Assert.AreEqual(null, xxml.Extension.ObjectSerializer, "#XE5"); // Create fake IO using stringbuilders StringBuilder element_string = new StringBuilder(); StringBuilder syndication_string = new StringBuilder(); XmlWriterSettings settings = new XmlWriterSettings(); XmlWriter element = XmlWriter.Create(element_string, settings); XmlWriter syndication = XmlWriter.Create(syndication_string, settings); // Make sure we get the input data back out xelem.WriteTo(element); xxml.WriteTo(syndication, documentname, ""); element.Close(); syndication.Close(); // Pickout the 'channel' and 'stuff' tags from original and syndicated document XmlDocument syndoc = new XmlDocument(); XmlDocument eledoc = new XmlDocument(); syndoc.LoadXml(syndication_string.ToString()); XmlNodeList synresult = syndoc.GetElementsByTagName(tagname); XmlNodeList syntype = syndoc.GetElementsByTagName(documentname); eledoc.LoadXml(element_string.ToString()); XmlNodeList eleresult = eledoc.GetElementsByTagName(tagname); // Check document type Assert.AreEqual(type, syntype.Item(0).Attributes.GetNamedItem("type").Value.ToString(), "XE6"); // Check content Assert.AreEqual(eleresult.Item(0).OuterXml.ToString(), synresult.Item(0).OuterXml.ToString(), "XE7"); }
public void WriteTo_ObjectWithXmlSerializer_ReturnsExpected() { var extensionObject = new ExtensionObject() { Value = 10 }; var content = new XmlSyndicationContent("type", extensionObject, new XmlSerializer(typeof(ExtensionObject))); CompareHelper.AssertEqualWriteOutput( @"<OuterElementName type=""type"" xmlns=""OuterElementNamespace""> <ExtensionObject xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns=""""> <Value>10</Value> </ExtensionObject> </OuterElementName>", writer => content.WriteTo(writer, "OuterElementName", "OuterElementNamespace")); }
public void WriteTo_ObjectWithXmlObjectSerializer_ReturnsExpected() { var extensionObject = new ExtensionObject() { Value = 10 }; var content = new XmlSyndicationContent("type", extensionObject, new DataContractSerializer(typeof(ExtensionObject))); CompareHelper.AssertEqualWriteOutput( @"<OuterElementName type=""type"" xmlns=""OuterElementNamespace""> <XmlSyndicationContentTests.ExtensionObject xmlns:i=""http://www.w3.org/2001/XMLSchema-instance"" xmlns=""http://schemas.datacontract.org/2004/07/System.ServiceModel.Syndication.Tests""> <Value>10</Value> </XmlSyndicationContentTests.ExtensionObject> </OuterElementName>", writer => content.WriteTo(writer, "OuterElementName", "OuterElementNamespace")); }
public void WriteTo_WithReader_ReturnsExpected() { var content = new XmlSyndicationContent( new XElement("ParentObject", new XElement("ExtensionObject", new XElement("Value", 10) ) ).CreateReader() ); CompareHelper.AssertEqualWriteOutput( @"<OuterElementName type=""text/xml"" xmlns=""OuterElementNamespace""> <ExtensionObject xmlns=""""> <Value>10</Value> </ExtensionObject> </OuterElementName>", writer => content.WriteTo(writer, "OuterElementName", "OuterElementNamespace")); }
public void WriteTo () { XmlSyndicationContent t = new XmlSyndicationContent ("text/plain", 6, (XmlObjectSerializer) null); StringWriter sw = new StringWriter (); using (XmlWriter w = CreateWriter (sw)) t.WriteTo (w, "root", String.Empty); Assert.AreEqual ("<root type=\"text/plain\"><int xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">6</int></root>", sw.ToString ()); }
public void XmlSerializerExtension () { DateTime date = new DateTime (2007, 5, 22); global::System.Xml.Serialization.XmlSerializer xs = new global::System.Xml.Serialization.XmlSerializer (typeof (Content)); Content item = new Content (); string item_object = "Content"; // tag name for serialized object // fill object with some data item.author = author; item.comment = comment; item.date = date; XmlSyndicationContent se = new XmlSyndicationContent (type,item,xs); Assert.AreEqual (typeof (XmlSyndicationContent), se.GetType (), "#SE1"); Assert.AreEqual (type, se.Type.ToString (), "#SE2"); Assert.AreSame (item, se.Extension.Object, "#SE3"); Assert.AreEqual (SyndicationElementExtensionKind.XmlSerializer, se.Extension.ExtensionKind, "#SE4"); Assert.AreSame (xs, se.Extension.ObjectSerializer, "#SE5"); // Create fake IO using stringbuilders StringBuilder object_string = new StringBuilder (); StringBuilder syndication_string = new StringBuilder (); XmlWriterSettings settings = new XmlWriterSettings (); XmlWriter serobj = XmlWriter.Create (object_string, settings); XmlWriter syndication = XmlWriter.Create (syndication_string, settings); xs.Serialize (serobj, item); se.WriteTo (syndication, documentname, ""); serobj.Close (); syndication.Close (); // Pickout the 'Content' tag from original serialized object and syndicated document XmlDocument syndoc = new XmlDocument (); XmlDocument serdoc = new XmlDocument (); syndoc.LoadXml (syndication_string.ToString ()); XmlNodeList synresult = syndoc.GetElementsByTagName (item_object); XmlNodeList syntype = syndoc.GetElementsByTagName (documentname); serdoc.LoadXml (object_string.ToString ()); XmlNodeList serresult = serdoc.GetElementsByTagName (item_object); // Check document type Assert.AreEqual(type, syntype.Item (0).Attributes.GetNamedItem ("type").Value.ToString (), "SE6"); // Check content Assert.AreEqual (serresult.Item (0).OuterXml.ToString (), synresult.Item (0).OuterXml.ToString (), "SE6"); }
public void XmlElementExtension () { XmlDocument xdoc = new XmlDocument (); XmlElement xelem = xdoc.CreateElement (tagname); xelem.InnerText = content; // Same as Simple tests as setup for XmlElementExtension tests XmlSyndicationContent xxml = new XmlSyndicationContent (type, xelem); Assert.AreEqual (typeof (XmlSyndicationContent), xxml.GetType (), "#XE1"); Assert.AreEqual (type, xxml.Type.ToString (), "#XE2"); Assert.AreSame (xelem, xxml.Extension.Object, "#XE3"); Assert.AreEqual (SyndicationElementExtensionKind.XmlElement, xxml.Extension.ExtensionKind, "#XE4"); Assert.AreEqual (null, xxml.Extension.ObjectSerializer, "#XE5"); // Create fake IO using stringbuilders StringBuilder element_string = new StringBuilder (); StringBuilder syndication_string = new StringBuilder (); XmlWriterSettings settings = new XmlWriterSettings (); XmlWriter element = XmlWriter.Create (element_string, settings); XmlWriter syndication = XmlWriter.Create (syndication_string, settings); // Make sure we get the input data back out xelem.WriteTo (element); xxml.WriteTo (syndication, documentname, ""); element.Close (); syndication.Close (); // Pickout the 'channel' and 'stuff' tags from original and syndicated document XmlDocument syndoc = new XmlDocument(); XmlDocument eledoc = new XmlDocument(); syndoc.LoadXml (syndication_string.ToString ()); XmlNodeList synresult = syndoc.GetElementsByTagName (tagname); XmlNodeList syntype = syndoc.GetElementsByTagName (documentname); eledoc.LoadXml (element_string.ToString ()); XmlNodeList eleresult = eledoc.GetElementsByTagName (tagname); // Check document type Assert.AreEqual(type, syntype.Item (0).Attributes.GetNamedItem ("type").Value.ToString (), "XE6"); // Check content Assert.AreEqual (eleresult.Item (0).OuterXml.ToString (), synresult.Item (0).OuterXml.ToString (), "XE7"); }
public void Simple () { XmlDocument sdoc = new XmlDocument (); XmlElement selem = sdoc.CreateElement (tagname); selem.InnerText = content; StringBuilder syndication_string = new StringBuilder (); XmlWriterSettings settings = new XmlWriterSettings (); XmlWriter syndication = XmlWriter.Create (syndication_string, settings); // Simple tests XmlSyndicationContent sxml = new XmlSyndicationContent (type, selem); Assert.AreEqual (typeof (XmlSyndicationContent), sxml.GetType (), "#S1"); Assert.AreEqual (type, sxml.Type.ToString (), "#S2"); // Check correct invalid argument rejection try { sxml.WriteTo (null, "", ""); Assert.Fail ("#S3 Expected an ArgumentNullException to be thrown."); } catch (ArgumentNullException) { } try { sxml.WriteTo (syndication, "", ""); Assert.Fail ("#S4 Expected an ArgumentException to be thrown."); } catch (ArgumentException) { } syndication.Close (); }
public void WriteTo_WithEmptyReader_ReturnsExpected() { using (var stringReader = new StringReader("<ParentObject />")) using (var reader = XmlReader.Create(stringReader)) { var content = new XmlSyndicationContent(reader); CompareHelper.AssertEqualWriteOutput(@"<OuterElementName type=""text/xml"" xmlns=""OuterElementNamespace"" />", writer => content.WriteTo(writer, "OuterElementName", "OuterElementNamespace")); } }