예제 #1
0
        private IList <IExtendedMovieInfo> PopulateExtendedInfoList(IEnumerable <IMovieTorrentInfo> movieTorrents)
        {
            var detailedTorrents = new List <IExtendedMovieInfo>();

            foreach (var movie in movieTorrents)
            {
                if (movie.IsValidForMetadataSearch)
                {
                    if (cache.Contains(movie.Title, movie.Year))
                    {
                        var json = cache.GetDetails(movie.Title, movie.Year);
                        detailedTorrents.Add(new ExtendedMovieInfo(movie, json));
                    }
                    else
                    {
                        var query             = new ImdbQuery();
                        JsonDeserializer json = query.GetMovieDetails(movie.Title, movie.Year);
                        cache.Add(movie.Title, movie.Year, json);

                        detailedTorrents.Add(new ExtendedMovieInfo(movie, json));
                    }
                }
                else
                {
                    detailedTorrents.Add(new ExtendedMovieInfo(movie, new JsonDeserializer()));
                }
            }
            return(detailedTorrents);
        }
예제 #2
0
        public void Test_Lookup_Single_Films_Details()
        {
            var testMovie = new MockMovieInfo();

            testMovie.Title = "Lethal Weapon";
            testMovie.Year  = "1987";
            testMovie.IsValidForMetadataSearch = true;

            var query             = new ImdbQuery();
            JsonDeserializer json = query.GetMovieDetails(testMovie.Title, testMovie.Year);

            var result = new ExtendedMovieInfo(testMovie, json);

            Assert.IsInstanceOfType(result, typeof(IExtendedMovieInfo));
            Assert.AreEqual("7.6", result.ReviewScore);
        }
예제 #3
0
        public void Test_That_Search_Still_Populates()
        {
            var testMovie = new MockMovieInfo();

            testMovie.Title = "Anchorman 2 The Legend Continues";
            testMovie.Year  = "2013";
            testMovie.IsValidForMetadataSearch = true;

            var query             = new ImdbQuery();
            JsonDeserializer json = query.GetMovieDetails(testMovie.Title, testMovie.Year);

            var result = new ExtendedMovieInfo(testMovie, json);

            Assert.AreEqual("R", result.Rating);
            Assert.AreEqual("119 min", result.RunTime);
            Assert.AreEqual("Comedy", result.Genre);

            Assert.AreEqual("Anchorman 2 The Legend Continues", result.Title);
            Assert.AreEqual("2013", result.Year);
        }