コード例 #1
0
        public void PageSurvivesMissingPostsTable()
        {
            // ARRANGE: load sample Html from file into an HNPage object
            var doc  = ResourceLoader.LoadHtmlDocument(NEWS_PAGE_WITHOUT_POSTS_OR_MORE);
            var page = new HNPage(doc);

            // ACT: retrieve posts from a page that has no posts
            var posts = page.Posts;

            // ASSERT: posts collection is empty, but no exception has been thrown
            Assert.Empty(posts);
        }
コード例 #2
0
        public void PageSelectsMoreLink()
        {
            // ARRANGE: load sample Html from file into an HNPage object
            var doc  = ResourceLoader.LoadHtmlDocument(NEWS_PAGE);
            var page = new HNPage(doc);

            // ACT: retrieve next page uri
            var uri = page.NextPageUri;

            // ASSERT: should find next page link
            Assert.Equal(HNPage.BASE_URI + "news?p=2", uri);
        }
コード例 #3
0
        public void PageSurvivesMissingMoreLink()
        {
            // ARRANGE: load sample Html from file into an HNPage object
            var doc  = ResourceLoader.LoadHtmlDocument(NEWS_PAGE_WITHOUT_POSTS_OR_MORE);
            var page = new HNPage(doc);

            // ACT: retrieve next page uri
            var uri = page.NextPageUri;

            // ASSERT: next page link should be empty but no exception thrown
            Assert.Equal("", uri);
        }
コード例 #4
0
        public void PageSelectsAllPosts()
        {
            // ARRANGE: load sample Html from file into an HNPage object
            var doc  = ResourceLoader.LoadHtmlDocument(NEWS_PAGE);
            var page = new HNPage(doc);

            // ACT: retrieve posts from the page
            var posts = page.Posts;

            // ASSERT: should find 30 posts on page
            Assert.Equal(30, posts.Count());
        }