public void ShouldAddXmlBaseAttributeToRootElement() { var formatter = new ShopFormatter(new ShopBuilder(new Uri("http://restbucks.com:8080/shop")).Build()); var xml = new XmlOutput(formatter.CreateXml()); Assert.AreEqual("http://restbucks.com:8080/shop", xml.GetNodeValue("r:shop/@xml:base")); }
public void ShouldCreateShopRootElement() { var formatter = new ShopFormatter(new ShopBuilder(new Uri("http://localhost")).Build()); var xml = new XmlOutput(formatter.CreateXml()); Assert.AreEqual(1, xml.GetNodeCount("r:shop")); }
public void ShouldNotAddXmlBaseAttributeToRootElementIfBaseUriIsNull() { var formatter = new ShopFormatter(new ShopBuilder(null).Build()); var xml = new XmlOutput(formatter.CreateXml()); Assert.IsNull(xml.GetNode("r:shop/@xml:base")); }
public override void OnWriteToStream(Type type, object value, Stream stream, HttpContentHeaders contentHeaders, TransportContext context) { try { var root = new ShopFormatter((Shop) value).CreateXml(); using (var writer = XmlWriter.Create(stream, WriterSettings)) { root.WriteTo(writer); writer.Flush(); } } catch (Exception ex) { Log.Warn(string.Format("Unexpected error writing {0} to response stream.", Value), ex); throw; } }