Пример #1
0
        public void ReadItems_Should_Return_0_News_Items_From_Unknown_Feed_Type()
        {
            // Arrange
            XmlDocument xmlDoc = FakeXMLFeed.GetFakeXMLFeed("unknown");
            RSSFeedReader rssFeedReader = new RSSFeedReader(xmlDoc);

            // Act
            var items = rssFeedReader.ReadItems();

            // Assert
            Assert.AreEqual(0, items.Count);
        }
Пример #2
0
        public Feed CreateFeedFromXmlDoc(XmlDocument xmlDoc, string userName)
        {
            Feed feed = null;

            if (xmlDoc != null)
            {
                RSSFeedReader feedReader = new RSSFeedReader(xmlDoc);
                feed = feedReader.ReadFeedDetails();
            }

            if (feed != null)
            {
                feed.Url = xmlDoc.BaseURI;
                feed.UserName = userName;
                Save(feed);
            }

            return feed;
        }
Пример #3
0
        private FeedReaderViewModel CreateViewModel(int? Id, string userName)
        {
            FeedReaderViewModel viewModel = new FeedReaderViewModel();
            viewModel.Feeds = FeedService.GetUsersFeeds(userName)
                .OrderBy(f => f.Name)
                .ToList();

            viewModel.CurrentFeed = viewModel.Feeds.Find(f => f.FeedId == Id);
            if (viewModel.CurrentFeedId == 0 && viewModel.Feeds.Count > 0) // if feed wasn't specified or found then set current feed to first in list
            {
                viewModel.CurrentFeed = viewModel.Feeds[0];
            }

            if (viewModel.CurrentFeedId > 0)
            {
                XmlDocument xmlDoc = FeedLoader.LoadXML(viewModel.CurrentFeed.Url);
                if (xmlDoc != null)
                {
                    RSSFeedReader feedReader = new RSSFeedReader(xmlDoc);
                    viewModel.NewsItems = feedReader.ReadItems();
                }
            }

            return viewModel;
        }