public void Test_PersonRequestItem_AlbumParse()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\person_kanyewest_album_100_scraped.txt");

            PersonRequestItem item  = new PersonRequestItem("1", "kanye west", "album");
            IMetacriticData   mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Person)mItem).Name, "Kanye West");
            Assert.AreEqual(((Person)mItem).RatingsSummary.HighestRating, 94);
            Assert.AreEqual(((Person)mItem).RatingsSummary.LowestRating, 66);
            Assert.AreEqual(((Person)mItem).RatingsSummary.ReviewCount, 9);
            Assert.AreEqual(((Person)mItem).CreditMediaPairItems.Count, 9);

            CollectionAssert.Contains(((Person)mItem).CreditMediaPairItems.
                                      Select(c => c.Item),
                                      new MediaItem()
            {
                Title       = "My Beautiful Dark Twisted Fantasy",
                ReleaseDate = "11/22/2010"
            });

            CollectionAssert.AllItemsAreInstancesOfType(((Person)mItem).CreditMediaPairItems.
                                                        Select(c => c.Item), typeof(MediaItem));
        }
Esempio n. 2
0
        public void Test_Search_Parse_Middle_Page2()
        {
            var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            UrlResponsePair pair = new UrlResponsePair(@"/search/movie/love/results?page=2",
                                                       File.ReadAllText(dir + @"\TestData\search_love_2.txt"), 3, 20);

            SearchRequestItem item = new SearchRequestItem("1", "love", "movie", "offset=11&limit=65");

            item.Urls = new List <string>();
            item.Urls.Add(@"/search/movie/love/results?page=0");
            item.Urls.Add(@"/search/movie/love/results?page=1");
            item.Urls.Add(@"/search/movie/love/results?page=2");
            item.Urls.Add(@"/search/movie/love/results?page=3");
            IMetacriticData resp = item.Parse(pair);

            CollectionAssert.AllItemsAreInstancesOfType(((SearchData)resp).SearchItems,
                                                        typeof(SearchData.SearchItem));
            Assert.IsNull(((SearchData)resp).TotalResultCount);
            Assert.AreEqual(((SearchData)resp).SearchItems.Count, 20);
            Assert.AreEqual(((SearchData)resp).SearchItems[1].Title, "To Rome with Love");
            Assert.AreEqual(((SearchData)resp).SearchItems[2].Rating.CriticRating, 0);
            Assert.AreEqual(((SearchData)resp).SearchItems[9].ReleaseDate, "August 9, 2013");
            Assert.AreEqual(((SearchData)resp).SearchItems[17].Id, "/movie/love-sex");
        }
Esempio n. 3
0
        public void Test_Search_Parse_Last_Page()
        {
            var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            UrlResponsePair pair = new UrlResponsePair(@"/search/movie/love/results?page=3",
                                                       File.ReadAllText(dir + @"\TestData\search_love_3.txt"), 4, 15);

            SearchRequestItem item = new SearchRequestItem("1", "love", "movie", "offset=11&limit=65");

            item.Urls = new List <string>();
            item.Urls.Add(@"/search/movie/love/results?page=0");
            item.Urls.Add(@"/search/movie/love/results?page=1");
            item.Urls.Add(@"/search/movie/love/results?page=2");
            item.Urls.Add(@"/search/movie/love/results?page=3");
            IMetacriticData resp = item.Parse(pair);

            CollectionAssert.AllItemsAreInstancesOfType(((SearchData)resp).SearchItems,
                                                        typeof(SearchData.SearchItem));
            Assert.IsNull(((SearchData)resp).TotalResultCount);
            Assert.AreEqual(((SearchData)resp).SearchItems.Count, 15);
            Assert.AreEqual(((SearchData)resp).SearchItems[2].Title, "A Lot Like Love");
            Assert.AreEqual(((SearchData)resp).SearchItems[6].Rating.CriticRating, 33);
            Assert.AreEqual(((SearchData)resp).SearchItems[8].ReleaseDate, "October 19, 2007");
            Assert.AreEqual(((SearchData)resp).SearchItems[13].Id, "/movie/my-summer-of-love");
        }
Esempio n. 4
0
        public void Test_Search_Parse_First_Page()
        {
            var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            UrlResponsePair pair = new UrlResponsePair(@"/search/movie/love/results?page=0",
                                                       File.ReadAllText(dir + @"\TestData\search_love_0.txt"), 1, 10);

            SearchRequestItem item = new SearchRequestItem("1", "love", "movie", "offset=11&limit=65");

            item.Urls = new List <string>();
            item.Urls.Add(@"/search/movie/love/results?page=0");
            item.Urls.Add(@"/search/movie/love/results?page=1");
            item.Urls.Add(@"/search/movie/love/results?page=2");
            item.Urls.Add(@"/search/movie/love/results?page=3");
            IMetacriticData resp = item.Parse(pair);

            CollectionAssert.AllItemsAreInstancesOfType(((SearchData)resp).SearchItems,
                                                        typeof(SearchData.SearchItem));
            Assert.AreEqual(((SearchData)resp).TotalResultCount, 238);
            Assert.AreEqual(((SearchData)resp).SearchItems.Count, 10);
            Assert.AreEqual(((SearchData)resp).SearchItems[0].Title, "After Love");
            Assert.AreEqual(((SearchData)resp).SearchItems[5].Id, "/movie/love-rosie");
            Assert.AreEqual(((SearchData)resp).SearchItems[8].ReleaseDate, "April 11, 2014");
            Assert.AreEqual(((SearchData)resp).SearchItems[9].Rating.CriticRating, 39);
        }
        public void Test_PersonRequestItem_AlbumParse2()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\person_woodyallen_tvshow_100_scraped.txt");

            PersonRequestItem item  = new PersonRequestItem("1", "woody allen", "album");
            IMetacriticData   mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Person)mItem).Name, "Woody Allen");
            Assert.AreEqual(((Person)mItem).RatingsSummary, default(Person.PersonRatingSummary));
            Assert.AreEqual(((Person)mItem).CreditMediaPairItems, null);
        }
Esempio n. 6
0
        public void Test_RequestItem_TvShowParseWithDetails()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\tvshow_veep_details.txt");

            TVShowRequestItem item  = new TVShowRequestItem("1", "veep", "6", "details");
            IMetacriticData   mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((MediaDetail)mItem).Details.Count, 4);
            CollectionAssert.Contains(((MediaDetail)mItem).Credits,
                                      new MediaCredit("Julia Louis-Dreyfus", "Vice President Selina Meyer"));
            CollectionAssert.Contains(((MediaDetail)mItem).Details,
                                      new DetailItem("Creators", "Armando Iannucci"));
        }
Esempio n. 7
0
        public void Test_RequestItem_TvShowParse2()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\tvshow_curbyourenthusiasm_7_scraped.txt");

            TVShowRequestItem item = new TVShowRequestItem("1", "curb your enthusiasm", "7", "");

            item.UrlImagePath = new Dictionary <string, string>();
            IMetacriticData mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((TVShow)mItem).Title, "Curb Your Enthusiasm");
            Assert.AreEqual(((TVShow)mItem).Rating.CriticRating, 81);
            Assert.AreEqual(((TVShow)mItem).Rating.CriticReviewCount, 18);
            Assert.AreEqual(((TVShow)mItem).Rating.UserRating, 8.5f);
            Assert.AreEqual(((TVShow)mItem).Rating.UserReviewCount, 58);
        }
Esempio n. 8
0
        public void Test_RequestItem_AlbumParseWithDetails()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\album_teensofdenial_details.txt");

            AlbumRequestItem item  = new AlbumRequestItem("1", "teens of denial", "", "details");
            IMetacriticData  mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((MediaDetail)mItem).Details.Count, 4);
            CollectionAssert.Contains(((MediaDetail)mItem).Details,
                                      new DetailItem("Record Label", "Matador"));
            CollectionAssert.Contains(((MediaDetail)mItem).Details,
                                      new DetailItem("Genre(s)", "Pop/Rock, Alternative/Indie Rock"));
            CollectionAssert.Contains(((MediaDetail)mItem).Details,
                                      new DetailItem("Name", "Car Seat Headrest"));
        }
Esempio n. 9
0
        public void Test_RequestItem_TvShowParse3()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\tvshow_arrested_development_scraped.txt");

            TVShowRequestItem item = new TVShowRequestItem("1", "arrested development", "");

            item.UrlImagePath = new Dictionary <string, string>();
            IMetacriticData mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((TVShow)mItem).Title, "Arrested Development");
            Assert.AreEqual(((TVShow)mItem).Rating.CriticRating, 89);
            Assert.AreEqual(((TVShow)mItem).Rating.CriticReviewCount, 26);
            Assert.AreEqual(((TVShow)mItem).Rating.UserRating, 9.2f);
            Assert.AreEqual(((TVShow)mItem).Rating.UserReviewCount, 426);
        }
Esempio n. 10
0
        public void Test_RequestItem_MovieParse3()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\movie_thewolfofwallstreet_scraped.txt");

            MovieRequestItem item = new MovieRequestItem("1", "the wolf of wall street", "");

            item.UrlImagePath = new Dictionary <string, string>();
            IMetacriticData mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Movie)mItem).Title, "The Wolf of Wall Street");
            Assert.AreEqual(((Movie)mItem).Director, "Martin Scorsese");
            Assert.AreEqual(((Movie)mItem).Rating.CriticRating, 75);
            Assert.AreEqual(((Movie)mItem).Rating.CriticReviewCount, 47);
            Assert.AreEqual(((Movie)mItem).Rating.UserRating, 6.8f);
            Assert.AreEqual(((Movie)mItem).Rating.UserReviewCount, 1856);
        }
Esempio n. 11
0
        public void Test_RequestItem_AlbumParse2()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\album_melodrama_scraped.txt");

            AlbumRequestItem item = new AlbumRequestItem("1", "melodrama", "");

            item.UrlImagePath = new Dictionary <string, string>();
            IMetacriticData mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Album)mItem).Title, "Melodrama");
            Assert.AreEqual(((Album)mItem).PrimaryArtist, "Lorde");
            Assert.AreEqual(((Album)mItem).Rating.CriticRating, 91);
            Assert.AreEqual(((Album)mItem).Rating.CriticReviewCount, 33);
            Assert.AreEqual(((Album)mItem).Rating.UserRating, 9.0f);
            Assert.AreEqual(((Album)mItem).Rating.UserReviewCount, 1363);
        }
Esempio n. 12
0
        public void Test_RequestItem_AlbumParse5()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData_20171103\album_midnite_vultures.txt");

            AlbumRequestItem item = new AlbumRequestItem("1", "Midnite Vultures", "");

            item.UrlImagePath = new Dictionary <string, string>();
            IMetacriticData mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Album)mItem).Title, "Midnite Vultures");
            Assert.AreEqual(((Album)mItem).PrimaryArtist, "Beck");
            Assert.AreEqual(((Album)mItem).Rating.CriticRating, 83);
            Assert.AreEqual(((Album)mItem).Rating.CriticReviewCount, 19);
            Assert.AreEqual(((Album)mItem).Rating.UserRating, 8.8f);
            Assert.AreEqual(((Album)mItem).Rating.UserReviewCount, 53);
        }
Esempio n. 13
0
        public void Test_RequestItem_AlbumParse4()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData_20171103\album_all_american_made.txt");

            AlbumRequestItem item = new AlbumRequestItem("1", "all american made", "");

            item.UrlImagePath = new Dictionary <string, string>();
            IMetacriticData mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Album)mItem).Title, "All American Made");
            Assert.AreEqual(((Album)mItem).PrimaryArtist, "Margo Price");
            Assert.AreEqual(((Album)mItem).Rating.CriticRating, 82);
            Assert.AreEqual(((Album)mItem).Rating.CriticReviewCount, 13);
            Assert.AreEqual(((Album)mItem).Rating.UserRating, 6.3f);
            Assert.AreEqual(((Album)mItem).Rating.UserReviewCount, 4);
        }
Esempio n. 14
0
        public void Test_RequestItem_AlbumParse3()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\album_aseatatthetable_scraped.txt");

            AlbumRequestItem item = new AlbumRequestItem("1", "a seat at the table", "");

            item.UrlImagePath = new Dictionary <string, string>();
            IMetacriticData mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Album)mItem).Title, "A Seat at the Table");
            Assert.AreEqual(((Album)mItem).PrimaryArtist, "Solange");
            Assert.AreEqual(((Album)mItem).Rating.CriticRating, 89);
            Assert.AreEqual(((Album)mItem).Rating.CriticReviewCount, 26);
            Assert.AreEqual(((Album)mItem).Rating.UserRating, 8.2f);
            Assert.AreEqual(((Album)mItem).Rating.UserReviewCount, 301);
        }
Esempio n. 15
0
        public void Test_RequestItem_MovieParse2()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\movie_her_scraped.txt");

            MovieRequestItem item = new MovieRequestItem("1", "moonlight", "");

            item.UrlImagePath = new Dictionary <string, string>();
            IMetacriticData mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Movie)mItem).Title, "Her");
            Assert.AreEqual(((Movie)mItem).Director, "Spike Jonze");
            Assert.AreEqual(((Movie)mItem).Rating.CriticRating, 90);
            Assert.AreEqual(((Movie)mItem).Rating.CriticReviewCount, 46);
            Assert.AreEqual(((Movie)mItem).Rating.UserRating, 8.6f);
            Assert.AreEqual(((Movie)mItem).Rating.UserReviewCount, 1376);
        }
Esempio n. 16
0
        public void Test_RequestItem_TvShowParse()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\tvshow_veep_6_scraped.txt");

            TVShowRequestItem item = new TVShowRequestItem("1", "veep", "6", "");

            item.UrlImagePath = new Dictionary <string, string>();
            item.UrlImagePath.Add(@"\tv\veep", "temptv.jpg");
            IMetacriticData mItem = item.Parse(new UrlResponsePair(@"\tv\veep", testData));

            Assert.AreEqual(((TVShow)mItem).Title, "Veep");
            Assert.AreEqual(((TVShow)mItem).Rating.CriticRating, 88);
            Assert.AreEqual(((TVShow)mItem).Rating.CriticReviewCount, 15);
            Assert.AreEqual(((TVShow)mItem).Rating.UserRating, 8.1f);
            Assert.AreEqual(((TVShow)mItem).Rating.UserReviewCount, 36);
            Assert.AreEqual(((TVShow)mItem).ImageUrl, "temptv.jpg");
        }
Esempio n. 17
0
        public void Test_RequestItem_TvShowParse4()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData_20171103\tv_six_feet_under_1.txt");

            TVShowRequestItem item = new TVShowRequestItem("1", "six-feet-under", "", "");

            item.UrlImagePath = new Dictionary <string, string>();
            item.UrlImagePath.Add(@"\tv\six-feet-under", "temptv.jpg");
            IMetacriticData mItem = item.Parse(new UrlResponsePair(@"\tv\six-feet-under", testData));

            Assert.AreEqual(((TVShow)mItem).Title, "Six Feet Under");
            Assert.AreEqual(((TVShow)mItem).Rating.CriticRating, 74);
            Assert.AreEqual(((TVShow)mItem).Rating.CriticReviewCount, 23);
            Assert.AreEqual(((TVShow)mItem).Rating.UserRating, 8.3f);
            Assert.AreEqual(((TVShow)mItem).Rating.UserReviewCount, 178);
            Assert.AreEqual(((TVShow)mItem).ImageUrl, "temptv.jpg");
        }
Esempio n. 18
0
        public void Test_RequestItem_MovieParseWithDetails()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\movie_zerodarkthirty_details.txt");

            MovieRequestItem item  = new MovieRequestItem("1", "zero dark thirty", "", "details");
            IMetacriticData  mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((MediaDetail)mItem).Details.Count, 8);
            CollectionAssert.Contains(((MediaDetail)mItem).Details,
                                      new DetailItem("Runtime", "157 min"));
            CollectionAssert.Contains(((MediaDetail)mItem).Credits,
                                      new MediaCredit("Jessica Chastain", "Maya"));
            CollectionAssert.Contains(((MediaDetail)mItem).Credits,
                                      new MediaCredit("Nabil Elouahabi", "Detainee On Monitor"));
            CollectionAssert.Contains(((MediaDetail)mItem).Credits,
                                      new MediaCredit("Jonathan Leven", "Co-Producer"));
        }
Esempio n. 19
0
        public void Test_RequestItem_AlbumParse()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\album_lemonade_2016_scraped.txt");

            AlbumRequestItem item = new AlbumRequestItem("1", "lemonade", "");

            item.UrlImagePath = new Dictionary <string, string>();
            item.UrlImagePath.Add(@"\album\lemonade", "tempalbum.jpg");
            IMetacriticData mItem = item.Parse(new UrlResponsePair(@"\album\lemonade", testData));

            Assert.AreEqual(((Album)mItem).Title, "Lemonade");
            Assert.AreEqual(((Album)mItem).Rating.CriticRating, 92);
            Assert.AreEqual(((Album)mItem).Rating.CriticReviewCount, 33);
            Assert.AreEqual(((Album)mItem).Rating.UserRating, 7.7f);
            Assert.AreEqual(((Album)mItem).Rating.UserReviewCount, 2518);
            Assert.AreEqual(((Album)mItem).ImageUrl, "tempalbum.jpg");
        }
Esempio n. 20
0
        public void Test_RequestItem_TvShowParse5()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData_20171103\tv_the_wire_2.txt");

            TVShowRequestItem item = new TVShowRequestItem("1", "the-wire", "2", "");

            item.UrlImagePath = new Dictionary <string, string>();
            item.UrlImagePath.Add(@"\tv\the-wire", "temptv.jpg");
            IMetacriticData mItem = item.Parse(new UrlResponsePair(@"\tv\the-wire", testData));

            Assert.AreEqual(((TVShow)mItem).Title, "The Wire");
            Assert.AreEqual(((TVShow)mItem).Season, 2);
            Assert.AreEqual(((TVShow)mItem).Rating.CriticRating, 95);
            Assert.AreEqual(((TVShow)mItem).Rating.CriticReviewCount, 17);
            Assert.AreEqual(((TVShow)mItem).Rating.UserRating, 9.2f);
            Assert.AreEqual(((TVShow)mItem).Rating.UserReviewCount, 344);
            Assert.AreEqual(((TVShow)mItem).ImageUrl, "temptv.jpg");
        }
Esempio n. 21
0
        public void Test_RequestItem_MovieParse()
        {
            var    dir           = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData_2016 = File.ReadAllText(dir + @"\TestData\movie_moonlight_2016_scraped.txt");

            MovieRequestItem item = new MovieRequestItem("1", "moonlight", "");

            item.UrlImagePath = new Dictionary <string, string>();
            item.UrlImagePath.Add(@"\movie\moonlight", "tempmovie.jpg");
            IMetacriticData mItem = item.Parse(new UrlResponsePair(@"\movie\moonlight", testData_2016));

            Assert.AreEqual(((Movie)mItem).Title, "Moonlight");
            Assert.AreEqual(((Movie)mItem).Director, "Barry Jenkins");
            Assert.AreEqual(((Movie)mItem).Rating.CriticRating, 99);
            Assert.AreEqual(((Movie)mItem).Rating.CriticReviewCount, 51);
            Assert.AreEqual(((Movie)mItem).Rating.UserRating, 7.2f);
            Assert.AreEqual(((Movie)mItem).Rating.UserReviewCount, 994);
            Assert.AreEqual(((Movie)mItem).ImageUrl, "tempmovie.jpg");
        }
Esempio n. 22
0
        public void Test_Search_Parse_Album()
        {
            var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            UrlResponsePair pair = new UrlResponsePair(@"/search/album/futire/results?page=0",
                                                       File.ReadAllText(dir + @"\TestData\search_album_future.txt"), 1, 20);

            SearchRequestItem item = new SearchRequestItem("1", "future", "album", "");

            item.Urls = new List <string>();
            item.Urls.Add(@"/search/album/future/results?page=0");
            IMetacriticData resp = item.Parse(pair);

            CollectionAssert.AllItemsAreInstancesOfType(((SearchData)resp).SearchItems,
                                                        typeof(SearchData.SearchItem));
            Assert.AreEqual(((SearchData)resp).TotalResultCount, 58);
            Assert.AreEqual(((SearchData)resp).SearchItems.Count, 20);
            Assert.AreEqual(((SearchData)resp).SearchItems[2].Id, "/album/future-present-past-ep");
            Assert.AreEqual(((SearchData)resp).SearchItems[6].Id, "/album/barbara-barbara-we-face-a-shining-future");
            Assert.AreEqual(((SearchData)resp).SearchItems[8].Id, "/album/love-in-the-future");
            Assert.AreEqual(((SearchData)resp).SearchItems[13].Id, "/album/in-the-future");
            Assert.AreEqual(((SearchData)resp).SearchItems[17].Id, "/album/future-standards");
        }
        public void Test_PersonRequestItem_TvShowParse2()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\person_kanyewest_tvshow_100_scraped.txt");

            PersonRequestItem item  = new PersonRequestItem("1", "kanye west", "tvshow");
            IMetacriticData   mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Person)mItem).Name, "Kanye West");
            Assert.AreEqual(((Person)mItem).RatingsSummary.HighestRating, 0);
            Assert.AreEqual(((Person)mItem).RatingsSummary.LowestRating, 0);
            Assert.AreEqual(((Person)mItem).RatingsSummary.ReviewCount, 0);
            Assert.AreEqual(((Person)mItem).CreditMediaPairItems.Count, 7);
            CollectionAssert.Contains(((Person)mItem).CreditMediaPairItems.
                                      Select(c => c.Item),
                                      new MediaItem()
            {
                Title       = "Kourtney and Kim Take New York: Season 1",
                ReleaseDate = "01/23/2011"
            });
            CollectionAssert.AllItemsAreInstancesOfType(((Person)mItem).CreditMediaPairItems.
                                                        Select(c => c.Item), typeof(MediaItem));
        }
        public void Test_PersonRequestItem_TvShowParse()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\person_woodyallen_tvshow_100_scraped.txt");

            PersonRequestItem item  = new PersonRequestItem("1", "woody allen", "tvshow");
            IMetacriticData   mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Person)mItem).Name, "Woody Allen");
            Assert.AreEqual(((Person)mItem).RatingsSummary.HighestRating, 0);
            Assert.AreEqual(((Person)mItem).RatingsSummary.LowestRating, 0);
            Assert.AreEqual(((Person)mItem).RatingsSummary.ReviewCount, 0);
            Assert.AreEqual(((Person)mItem).CreditMediaPairItems.Count, 3);
            CollectionAssert.Contains(((Person)mItem).CreditMediaPairItems.
                                      Select(c => c.Item),
                                      new MediaItem()
            {
                Title       = "The Ed Sullivan Show: Season 22",
                ReleaseDate = "09/28/1969"
            });
            CollectionAssert.AllItemsAreInstancesOfType(((Person)mItem).CreditMediaPairItems.
                                                        Select(c => c.Item), typeof(MediaItem));
        }
        public void Test_PersonRequestItem_MovieParse2()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\person_kanyewest_movie_100_scraped.txt");

            PersonRequestItem item  = new PersonRequestItem("1", "kanye west", "movie");
            IMetacriticData   mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Person)mItem).Name, "Kanye West");
            Assert.AreEqual(((Person)mItem).RatingsSummary.HighestRating, 81);
            Assert.AreEqual(((Person)mItem).RatingsSummary.LowestRating, 24);
            Assert.AreEqual(((Person)mItem).RatingsSummary.ReviewCount, 6);
            Assert.AreEqual(((Person)mItem).CreditMediaPairItems.Count, 7);
            CollectionAssert.Contains(((Person)mItem).CreditMediaPairItems.
                                      Select(c => c.Item),
                                      new MediaItem()
            {
                Title       = "Made in America",
                ReleaseDate = "07/11/2014"
            });
            CollectionAssert.AllItemsAreInstancesOfType(((Person)mItem).CreditMediaPairItems.
                                                        Select(c => c.Item), typeof(MediaItem));
        }
        public void Test_PersonRequestItem_MovieParse()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\person_woodyallen_movie_100_scraped.txt");

            PersonRequestItem item  = new PersonRequestItem("1", "woody allen", "movie");
            IMetacriticData   mItem = item.Parse(new UrlResponsePair("url", testData));

            Assert.AreEqual(((Person)mItem).Name, "Woody Allen");
            Assert.AreEqual(((Person)mItem).RatingsSummary.HighestRating, 90);
            Assert.AreEqual(((Person)mItem).RatingsSummary.LowestRating, 32);
            Assert.AreEqual(((Person)mItem).RatingsSummary.ReviewCount, 36);
            Assert.AreEqual(((Person)mItem).CreditMediaPairItems.Count, 37);
            CollectionAssert.Contains(((Person)mItem).CreditMediaPairItems.
                                      Select(c => c.Item),
                                      new MediaItem()
            {
                Title       = "Hannah and Her Sisters",
                ReleaseDate = "02/01/1986"
            });
            CollectionAssert.AllItemsAreInstancesOfType(((Person)mItem).CreditMediaPairItems.
                                                        Select(c => c.Item), typeof(MediaItem));
        }