public void Given_a_new_rss_uri_should_add_feed_to_list_and_persist()
        {
            var persistence = new Mock<IPersistence>();
            var feedRepo = new FeedRepository(persistence.Object);

            var rssUri = new Uri("protocol://host/uri.rss");
            Feed.Downloader = (u, cb) =>
            {
                if (u == rssUri)
                    cb(false, null, @"<?xml version=""1.0"" encoding=""UTF-8""?>
            <rss xmlns:itunes=""http://www.itunes.com/dtds/podcast-1.0.dtd"" xmlns:atom=""http://www.w3.org/2005/Atom"" version=""2.0"">
            <channel>
            <title>My New Feed</title>
            <item>
            <title>Whistle</title>
            <guid isPermaLink=""true"">item1</guid>
            <enclosure url=""http://blockedcontent/whistle.mp3"" type=""audio/mp3"" />
            </item>
            </channel>
            </rss>");
            };

            feedRepo.Add(rssUri);
            Assert.AreEqual(1, feedRepo.Feeds.Count);
            Assert.AreEqual("My New Feed", feedRepo.Feeds[0].Name);
            persistence.Verify(p => p.WriteTextFile(It.IsAny<string>(), It.Is<string>(contents => ContainsFeedDetails(contents, "My New Feed", "item1"))));
        }