Exemplo n.º 1
0
        public void Test_RequestItem_RetrieveImagePath()
        {
            MovieRequestItem item = new MovieRequestItem("1", "moonlight", "");
            var    dir            = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData       = File.ReadAllText(dir + @"\TestData\movie_moonlight_autosearch.txt");

            item.AutoResult = JsonConvert.DeserializeObject <RootObject>(testData).AutoComplete.Results;
            item.FilterValidUrls();
            item.RetrieveImagePath();

            Assert.AreEqual(item.UrlImagePath["/movie/moonlight"],
                            @"http://static.metacritic.com/images/products/movies/5/f297a665fd50e664244005952493fbd0-98.jpg");
        }
Exemplo n.º 2
0
        public void Test_RequestItem_MovieFilterValidUrls()
        {
            var    dir          = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData     = File.ReadAllText(dir + @"\TestData\movie_the_master_autosearch.txt");
            var    completeData = Newtonsoft.Json.JsonConvert.DeserializeObject <RootObject>(testData);

            MovieRequestItem item = new MovieRequestItem("1", "the master", "");

            item.AutoResult = completeData.AutoComplete.Results;
            bool result = item.FilterValidUrls();

            Assert.AreEqual(item.Urls.Count, 1);
            Assert.IsTrue(result);
        }
Exemplo n.º 3
0
        public async Task Test_RequestItem_AutoSearch()
        {
            var    dir      = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData = File.ReadAllText(dir + @"\TestData\movie_the_master_autosearch.txt");

            var webUtils = new Mock <IWebUtils>();

            webUtils.Setup(p => p.HttpPost(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(),
                                           It.IsAny <int>())).Returns(Task.FromResult(testData));

            MovieRequestItem item = new MovieRequestItem("1", "the master", "");

            item.WebUtils = webUtils.Object;
            bool result = await item.AutoSearch();

            Assert.IsTrue(result);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
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);
        }
Exemplo n.º 6
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"));
        }
Exemplo n.º 7
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");
        }
Exemplo n.º 8
0
        public void Test_RequestItem_MovieScrape()
        {
            var    dir           = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            string testData_2005 = File.ReadAllText(dir + @"\TestData\movie_moonlight_2005_scraped.txt");
            string testData_2016 = File.ReadAllText(dir + @"\TestData\movie_moonlight_2016_scraped.txt");

            var webUtils = new Mock <IWebUtils>();

            webUtils.SetupSequence(p => p.HttpGet(It.IsAny <string>(), It.IsAny <string>(),
                                                  It.IsAny <int>())).Returns(Task.FromResult(testData_2005)).
            Returns(Task.FromResult(testData_2016));

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

            item.Urls = new List <string>();
            item.Urls.Add(@"/movie/moonlight");
            item.Urls.Add(@"/movie/moonlight-2016");
            item.WebUtils = webUtils.Object;
            List <UrlResponsePair> resp = item.Scrape();

            Assert.AreEqual(resp.Count, 2);
        }