public void ReadAndProcess_FeedWithThreePages_WithPage1Empty_SearchGuidEmpty_EmptyPageOnFeedExceptionThrown() { // Arrange var guidFeedProcessor = new GuidItemIdBasedAtomFeedProcessor((uri) => { if (uri == "http://page0/") { return(GetFeedPage0(next_url: "http://page1/")); } if (uri == "http://page1/") { return(GetEmptyPage(prev_url: "http://page0/", next_url: "http://page2/")); } if (uri == "http://page2/") { return(GetFeedPage1(prev_url: "http://page1")); } return(null); }); // Act var actual = new List <SyndicationItem>(); actual.AddRange(guidFeedProcessor.ReadAndProcess("http://page2/", new Guid("00000000-0000-0000-0000-000000000000"), item => item)); }
public void ReadAndProcess_FeedWithMultiplePages_WithSearchGuidAsEmpty_ShouldReadAllItems() { // Arrange var guidFeedProcessor = new GuidItemIdBasedAtomFeedProcessor((uri) => { if (uri == "http://page0/") { return(GetFeedPage0(next_url: "http://page1")); } if (uri == "http://page1/") { return(GetFeedPage1(prev_url: "http://page0")); } return(null); }); // Act var actual = new List <SyndicationItem>(); actual.AddRange(guidFeedProcessor.ReadAndProcess("http://page1/", new Guid("00000000-0000-0000-0000-000000000000"), item => item)); // Assert Assert.AreEqual(4, actual.Count); Assert.AreEqual("uuid:00000000-0000-0000-0000-000000000001", actual[0].Id); Assert.AreEqual("uuid:00000000-0000-0000-0000-000000000002", actual[1].Id); Assert.AreEqual("uuid:00000000-0000-0000-0000-000000000003", actual[2].Id); Assert.AreEqual("uuid:00000000-0000-0000-0000-000000000004", actual[3].Id); Assert.AreEqual("Item 1", actual[0].Title.Text); Assert.AreEqual("Item 2", actual[1].Title.Text); Assert.AreEqual("Item 3", actual[2].Title.Text); Assert.AreEqual("Item 4", actual[3].Title.Text); }
public void ReadAndProcess_FeedWithNoItems_SearchGuidNonEmpty_GuidBookmarkNotMatchedExceptionThrown() { // Arrange var guidFeedProcessor = new GuidItemIdBasedAtomFeedProcessor((uri) => GetEmptyPage()); // Act guidFeedProcessor.ReadAndProcess("test", new Guid("00000000-0000-0000-0000-000000000005"), item => item); }
public void ReadAndProcess_FeedWithOnePage_NoMatchesFound_GuidBookmarkNotMatchedExceptionThrown() { // Arrange var guidFeedProcessor = new GuidItemIdBasedAtomFeedProcessor((uri) => GetFeedPage0()); // Act guidFeedProcessor.ReadAndProcess("test", new Guid("00000000-0000-0000-0000-000000000005"), item => item); }
public void ReadAndProcess_FeedWithNoItems_SearchGuidEmpty_NoExceptionThrown() { // Arrange var guidFeedProcessor = new GuidItemIdBasedAtomFeedProcessor((uri) => GetEmptyPage()); // Act var actual = new List <SyndicationItem>(); // This shouldn't throw any exception guidFeedProcessor.ReadAndProcess("test", new Guid("00000000-0000-0000-0000-000000000000"), item => item); }
public void ReadAndProcess_FeedWithOnePage_MatchingGuidFound_ElementsAfterMatchingGuidRead() { // Arrange var guidFeedProcessor = new GuidItemIdBasedAtomFeedProcessor((uri) => GetFeedPage0()); // Act var actual = new List <SyndicationItem>(); actual.AddRange(guidFeedProcessor.ReadAndProcess("test", new Guid("00000000-0000-0000-0000-000000000001"), item => item)); // Assert Assert.AreEqual(1, actual.Count); Assert.AreEqual("uuid:00000000-0000-0000-0000-000000000002", actual[0].Id); Assert.AreEqual("Item 2", actual[0].Title.Text); }
public void ReadAndProcess_FeedWithEmptyPage0_SearchGuidNotEmpty_GuidBookmarkNotMatchedExceptionThrown() { // Arrange var guidFeedProcessor = new GuidItemIdBasedAtomFeedProcessor((uri) => { if (uri == "http://page0/") { return(GetEmptyPage(next_url: "http://page1")); } if (uri == "http://page1/") { return(GetFeedPage1(prev_url: "http://page0")); } return(null); }); // Act guidFeedProcessor.ReadAndProcess("http://page1/", new Guid("00000000-0000-0000-0000-000000000005"), item => item); }