public void Create_a_feed_with_image()
        {
            var feed = CreateSimpleFeed();

            feed.Image = new Image(new Uri("http://www.dotnetgeek.de/logo.png"), "dotnetgeek feed", new Uri("http://www.dotnetgeek.de"));

            var rss20Generator = new Rss20Generator(feed);
            var feedXml        = rss20Generator.Process();

            var expected = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                           "<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/Atom\">" +
                           "<channel><title>dotnetgeek feed</title>" +
                           "<atom:link rel=\"self\" type=\"application/rss+xml\" href=\"http://www.dotnetgeek.de/rss\" />" +
                           "<link>http://www.dotnetgeek.de/rss</link>" +
                           $"<lastBuildDate>Tue, 16 Aug 2016 00:00:00 {_dateTimeOffset}</lastBuildDate>" +
                              "<language>de</language>" +
                           "<copyright>2016 @ www.dotnetgeek.com</copyright>" +
                           "<generator>dng.Syndication</generator>" +
                           "<description>Dotnet relevant topics</description>" +
                           "<image>" +
                                 "<url>http://www.dotnetgeek.de/logo.png</url>" +
                                 "<title>dotnetgeek feed</title>" +
                                "<link>http://www.dotnetgeek.de/</link>" +
                              "</image>" +
                           "<item>" +
                           "<title>First Entry</title>" +
                           "<guid>http://www.dotnetgeek.com/first-entry</guid>" +
                           "<link>http://www.dotnetgeek.com/first-entry</link>" +
                           "<description>Content</description>" +
                           $"<pubDate>Tue, 16 Aug 2016 00:00:00 {_dateTimeOffset}</pubDate>" +
                           "</item>" +
                           "</channel></rss>";

            Assert.Equal(expected, feedXml);
        }
 public async Task WriteAsync(OutputFormatterWriteContext context)
 {
     using (var atomGenerator = new Rss20Generator(context.Object as Feed))
     {
         context.HttpContext.Response.ContentType = MediaTypes.RssMediaType;
         await context.HttpContext.Response.WriteAsync(atomGenerator.Process());
     }
 }
        public override void WriteToStream(Type type, object value, Stream writeStream, HttpContent content)
        {
            if (!(value is Feed feed))
            {
                return;
            }

            using (var streamWriter = new StreamWriter(writeStream))
            {
                using (var rss20Generator = new Rss20Generator(feed))
                {
                    streamWriter.WriteLine(rss20Generator.Process());
                }
            }
        }