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); }
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); }
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); }