コード例 #1
0
        public void FavoriteCountIsRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveFavotireCount(fixture.Document);

            // assert
            sut.FavoriteCount.Should().Be(47544);
        }
コード例 #2
0
        public void EpisodeCountIsRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveEpisodes(fixture.Document);

            // assert
            sut.Episodes.Should().Be(25);
        }
コード例 #3
0
        public void RankIsRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveRank(fixture.Document);

            // assert
            sut.Rank.Should().Be(1112);
        }
コード例 #4
0
        public void AnimeTitleIsRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveAnimeTitle(fixture.Document);

            // assert
            sut.Title.Should().Be("Sword Art Online");
        }
コード例 #5
0
        public void AnimeSynopsisIsRetrievedCorrectly(string page, string synopsis)
        {
            // arrange
            var fixture = new PageScrapingLogicFixture(page);
            var sut = fixture.Instance;

            // act
            sut.RetrieveSynopsis(fixture.Document);

            // assert
            sut.Synopsis.Should().Be(synopsis.Replace("\r\n", Environment.NewLine));
        }
コード例 #6
0
        public void AnimeTypeIsRetrievedCorrectly(string page, string expectedType)
        {
            // arrange
            var fixture = new PageScrapingLogicFixture(page);
            var sut = fixture.Instance;

            // act
            sut.RetrieveType(fixture.Document);

            // assert
            sut.Type.Should().Be(expectedType);
        }
コード例 #7
0
        public void AnimeIdIsRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveAnimeId(fixture.Document);

            // assert
            sut.Id.Should().Be(11757);
        }
コード例 #8
0
        public void StatusIsRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveStatus(fixture.Document);

            // assert
            sut.Status.Should().Be("Finished Airing");
        }
コード例 #9
0
        public void RelatedInformationShouldNotCauseANullReferenceCrash(string page)
        {
            // arrange
            var fixture = new PageScrapingLogicFixture(page);
            var sut = fixture.Instance;

            var act = new Action(() => sut.RetrieveRelatedAnime(fixture.Document));

            // act
            // assert
            act.ShouldNotThrow<NullReferenceException>();
        }
コード例 #10
0
        public void ScoreIsRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveScore(fixture.Document);

            // assert
            sut.MemberScore.Should().Be(7.69);
        }
コード例 #11
0
        public void ClassificationIsRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveRating(fixture.Document);

            // assert
            sut.Classification.Should().Be("PG-13 - Teens 13 or older");
        }
コード例 #12
0
        public void PopularityRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrievePopularity(fixture.Document);

            // assert
            sut.Popularity.Should().Be(3);
        }
コード例 #13
0
        public void MemberCountIsRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveMemberCount(fixture.Document);

            // assert
            sut.MemberCount.Should().Be(1178885);
        }
コード例 #14
0
        public void AnimeImageIsRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveImage(fixture.Document);

            // assert
            sut.ImageUrl.Should().Be("https://myanimelist.cdn-dena.com/images/anime/11/39717.jpg");
            sut.HighResImageUrl.Should().Be("https://myanimelist.cdn-dena.com/images/anime/11/39717l.jpg");
        }
コード例 #15
0
        public void GenresAreRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveGenres(fixture.Document);

            // assert
            sut.Genres.Count.Should().Be(5);
            sut.Genres.Contains("Action").Should().BeTrue();
        }
コード例 #16
0
        public void AirDatesAreRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveAirDates(fixture.Document);

            // assert
            sut.StartDate.Should().Be(new DateTime(2012, 07, 08));
            sut.EndDate.Should().Be(new DateTime(2012, 12, 23));
        }
コード例 #17
0
        public void AlternativeTitlesAreRetrievedCorrectly()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveAlternativeTitles(fixture.Document);

            // assert
            sut.OtherTitles["Japanese"].Count.Should().Be(1);
            sut.OtherTitles["English"].Count.Should().Be(1);
            sut.OtherTitles["Synonyms"].Count.Should().Be(2);
        }
コード例 #18
0
        public void RelatedInformationIsParsedCorrectly(string page)
        {
            // arrange
            var fixture = new PageScrapingLogicFixture(page);
            var sut = fixture.Instance;

            // act
            sut.RetrieveRelatedAnime(fixture.Document);

            // assert
            sut.MangaAdaptation.Count.Should().Be(2);
            sut.Sequels.Count.Should().Be(1);
            sut.Others.Count.Should().Be(1);

            sut.Sequels.First().Id.Should().Be(20021);
            sut.Sequels.First().Title.Should().Be("Sword Art Online: Extra Edition");
            sut.Sequels.First().Url.Should().Be(@"https://myanimelist.net/anime/20021/Sword_Art_Online__Extra_Edition");
        }
コード例 #19
0
        public void InfoUrlsAreCorrectlyRetrieved()
        {
            // arrange
            var fixture = new PageScrapingLogicFixture();
            var sut = fixture.Instance;

            // act
            sut.RetrieveInfoUrls(fixture.Document);

            // assert
            sut.AdditionalInfoUrls.Episodes.Should().Be("https://myanimelist.net/anime/11757/Sword_Art_Online/episode");
            sut.AdditionalInfoUrls.Reviews.Should().Be("https://myanimelist.net/anime/11757/Sword_Art_Online/reviews");
            sut.AdditionalInfoUrls.Recommendation.Should()
                .Be("https://myanimelist.net/anime/11757/Sword_Art_Online/userrecs");
            sut.AdditionalInfoUrls.Stats.Should().Be("https://myanimelist.net/anime/11757/Sword_Art_Online/stats");
            sut.AdditionalInfoUrls.CharactersAndStaff.Should()
                .Be("https://myanimelist.net/anime/11757/Sword_Art_Online/characters");
            sut.AdditionalInfoUrls.News.Should().Be("https://myanimelist.net/anime/11757/Sword_Art_Online/news");
            sut.AdditionalInfoUrls.Forum.Should().Be("https://myanimelist.net/anime/11757/Sword_Art_Online/forum");
            sut.AdditionalInfoUrls.Featured.Should()
                .Be("https://myanimelist.net/anime/11757/Sword_Art_Online/featured");
            sut.AdditionalInfoUrls.Clubs.Should().Be("https://myanimelist.net/anime/11757/Sword_Art_Online/clubs");
            sut.AdditionalInfoUrls.Pictures.Should().Be("https://myanimelist.net/anime/11757/Sword_Art_Online/pics");
        }