Пример #1
0
        public async Task ParseProviderNewMovies(MovieProvider provider)
        {
            var movieProvider = DependencyResolver.Resolve <IMovieProvider>(provider.Name);

            int startPageNumber = Math.Max((byte)1, provider.LastPageProcessed);

            logger.Debug(string.Format("Start the parsing process from the page {0}", startPageNumber));

            var pageSet = movieProvider.EnumerateFromPage(startPageNumber);

            foreach (var moviesPageTask in pageSet.Take(2))
            {
                var page      = await moviesPageTask;
                var newMovies = repository.GetNewMovies(page);

                logger.Debug(string.Format("Found {0} movies and {1} are new", page.Count, newMovies.Count));

                foreach (var movie in newMovies)
                {
                    var builder = new MovieBuilder(pool, movie);
                    builder.OnMovieLoaded += Builder_OnMovieLoaded;
                    await movieProvider.AddToBuilder(builder, movie);
                }
            }
        }
        public void CalculateSubtitleFilterValues_Should_Skip_Und_Languages()
        {
            RunTest(() =>
            {
                var movieOne = new MovieBuilder(Guid.NewGuid().ToString()).ReplaceSubtitleStream(new SubtitleStream {
                    Language = "nl", DisplayTitle = "Dutch"
                }).Build();
                var movieTwo = new MovieBuilder(Guid.NewGuid().ToString()).ReplaceSubtitleStream(new SubtitleStream {
                    Language = "und"
                }).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).ReplaceSubtitleStream(new SubtitleStream {
                    Language = "Und"
                }).Build();
                var movieFour = new MovieBuilder(Guid.NewGuid().ToString()).ReplaceSubtitleStream(new SubtitleStream {
                    Language = null
                }).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree, movieFour });

                var languages = _movieRepository
                                .CalculateSubtitleFilterValues(new[] { "1" })
                                .ToList();

                languages.Should().NotBeNull();
                languages.Count.Should().Be(1);

                languages[0].Label.Should().Be("Dutch");
                languages[0].Value.Should().Be("nl");
            });
        }
Пример #3
0
        private static void MovieDisplayer()
        {
            var builder     = new MovieBuilder();
            var releaseDate = new DateTime(2008, 1, 1);
            var movie       = builder.Build("Taken", "BlaBla", releaseDate);

            Console.WriteLine($"Movie: {movie.Title}");
        }
Пример #4
0
        public void TestAddScoreWinner()
        {
            // Arrange
            var movie   = new MovieBuilder().Build();
            var ranking = new Ranking(movie);

            // Act
            ranking.AddScoreWinner();
            // Assert
            ranking.Score.Should().Be(1);
        }
        public void Should_be_able_to_map_from_an_enumerable_of_Movies_to_MoviesResponse(
            IEnumerable <Movie> movies,
            MoviesResponse response
            )
        {
            var crime     = new Genre("Crime");
            var drama     = new Genre("Drama");
            var animation = new Genre("Animation");
            var adventure = new Genre("Adventure");

            var shawshank = new MovieBuilder()
                            .WithDirector("Frank Darabont")
                            .WithGenres(new[] { crime, drama })
                            .WithImdbId("tt0111161")
                            .WithPlot("Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.")
                            .WithRating(9.3m)
                            .WithReleaseDate(new DateTime(1994, 10, 14))
                            .WithTitle("The Shawshank Redemption")
                            .Build();

            var wallE = new MovieBuilder()
                        .WithDirector("Andrew Stanton")
                        .WithGenres(new[] { animation, adventure, drama })
                        .WithImdbId("tt0910970")
                        .WithPlot("In the distant future, a small waste collecting robot inadvertently embarks on a space journey that will ultimately decide the fate of mankind.")
                        .WithRating(8.5m)
                        .WithReleaseDate(new DateTime(2008, 06, 27))
                        .WithTitle("WALL·E")
                        .Build();

            "Given a enumerable of Movies in reverse title order"
            .Given(() => movies = new[] { wallE, shawshank });

            "When mapping to a MoviesResponse"
            .When(() => response = movies.ToResponse());

            "Should map the movies as dtos ordered by title"
            .Then(() => response.Movies.ShouldAllBeEquivalentTo(new[]
            {
                shawshank.ToDto(),
                wallE.ToDto()
            }));

            "Should map the movies distinct genres as dtos ordered by name"
            .Then(() => response.Genres.ShouldAllBeEquivalentTo(new[]
            {
                adventure.ToDto(),
                animation.ToDto(),
                crime.ToDto(),
                drama.ToDto(),
            }));
        }
        public void RemoveMovies_Should_Delete_All_Movies()
        {
            RunTest(() =>
            {
                var movieOne = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo });

                _movieRepository.RemoveMovies();
                var result = _movieRepository.Any();
                result.Should().BeFalse();
            });
        }
Пример #7
0
        public void GetTotalPlayLengthStat()
        {
            var movieFour = new MovieBuilder(Guid.NewGuid().ToString()).AddRunTimeTicks(56, 34, 1).Build();
            var service   = CreateMovieService(_settingsServiceMock, _movieOne, _movieTwo, _movieThree, movieFour);
            var stat      = service.GetStatistics(_collections.Select(x => x.Id).ToList());

            stat.Cards.Count(x => x.Title == Constants.Movies.TotalPlayLength).Should().Be(1);

            var card = stat.Cards.First(x => x.Title == Constants.Movies.TotalPlayLength);

            card.Title.Should().Be(Constants.Movies.TotalPlayLength);
            card.Value.Should().Be("2|18|4");
        }
        public void GetTotalDiskSize_With_library_Filter_Should_Return_Total_Disk_Size()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var count = _movieRepository.GetTotalDiskSize(new[] { "1" });
                count.Should().Be(4000);
            });
        }
        public void GetTotalRuntime_Should_Return_Total_RunTime()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var count = _movieRepository.GetTotalRuntime(new string[0]);
                count.Should().Be(360000000000);
            });
        }
Пример #10
0
        public void GetGenreCount_With_library_Filter_Should_Return_Distinct_Genre_Count()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).AddGenres("id2").Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddGenres("id3").AddCollectionId("2").Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var count = _movieRepository.GetGenreCount(new[] { "1" });
                count.Should().Be(2);
            });
        }
Пример #11
0
        public void Any_Should_Return_True_If_Any_Movies_Are_In_Database()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).AddImdb(string.Empty).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var result = _movieRepository.Any();
                result.Should().BeTrue();
            });
        }
Пример #12
0
        public void GetMostFeaturedPerson_Most_Featured_Actor_Should_Return_Correct()
        {
            RunTest(() =>
            {
                var movieOne = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo = new MovieBuilder(Guid.NewGuid().ToString()).AddPerson(new ExtraPerson {
                    Id = movieOne.People.First().Id, Type = PersonType.Actor, Name = "Test"
                }).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var people = _movieRepository.GetMostFeaturedPersons(new string[0], PersonType.Actor, 5);
                //TODO Fix test
            });
        }
Пример #13
0
        public void MoviesWithoutPrimaryImage()
        {
            var movieFour = new MovieBuilder(Guid.NewGuid().ToString()).AddPrimaryImage(string.Empty).Build();
            var service   = CreateMovieService(_settingsServiceMock, _movieOne, _movieTwo, _movieThree, movieFour);
            var stat      = service.GetStatistics(_collections.Select(x => x.Id).ToList());

            stat.Should().NotBeNull();
            stat.NoPrimary.Should().NotBeNull();
            stat.NoPrimary.Count().Should().Be(1);
            var noPrimaryImageMovie = stat.NoPrimary.Single();

            noPrimaryImageMovie.Title   = movieFour.Name;
            noPrimaryImageMovie.MediaId = movieFour.Id;
            noPrimaryImageMovie.Number  = 0;
        }
Пример #14
0
        public void GetMovieById_Should_Return_Movie_By_Id()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var movie = _movieRepository.GetMovieById(movieTwo.Id);

                movie.Should().NotBeNull();
                movie.Id.Should().Be(movieTwo.Id);
            });
        }
Пример #15
0
        public void GetMediaCountForPerson_Should_Return_Movie_Count_For_Person_Id()
        {
            RunTest(() =>
            {
                var movieOne = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo = new MovieBuilder(Guid.NewGuid().ToString()).ReplacePersons(new ExtraPerson {
                    Id = movieOne.People.First().Id, Type = PersonType.Actor, Name = "Test"
                }).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var count = _movieRepository.GetMediaCountForPerson(movieOne.People.First().Name);

                count.Should().Be(2);
            });
        }
Пример #16
0
        public void TestGetWinnerMatchWhitNotaDifferent()
        {
            // Arrange
            var expected = new MovieBuilder()
                           .WithNota(9M)
                           .Build();
            var secondMovie = new MovieBuilder()
                              .Build();
            var tournament = new TournamentBuilder().Build();
            var standing   = new Standing(tournament);
            // Act
            var result = standing.GetWinnerMatch(expected, secondMovie);

            // Assert
            result.Should().BeEquivalentTo(expected);
        }
Пример #17
0
        public void ShortMovies()
        {
            var movieFour = new MovieBuilder(Guid.NewGuid().ToString()).AddRunTimeTicks(0, 1, 0).Build();
            var service   = CreateMovieService(_settingsServiceMock, _movieOne, _movieTwo, _movieThree, movieFour);
            var stat      = service.GetStatistics(_collections.Select(x => x.Id).ToList());

            stat.Should().NotBeNull();
            stat.Shorts.Should().NotBeNull();
            stat.Shorts.Count().Should().Be(1);
            var shortMovie = stat.Shorts.Single();

            shortMovie.Title    = movieFour.Name;
            shortMovie.MediaId  = movieFour.Id;
            shortMovie.Number   = 0;
            shortMovie.Duration = 60;
        }
Пример #18
0
    //Visualização para tela de adicionar mídia
    public static Movie addMovie(Movie m)
    {
        MovieBuilder builder = new MovieBuilder();
        Movie        movie   = null;

        Console.Clear();
        Utils.showAppTitle();
        Console.WriteLine("\n" + (m != null ? "EDITAR" : "NOVO") + " FILME\n");
        Utils.showFooter();

        try{
            string name, description, link, durationTime, gender;
            int    classification;

            Console.WriteLine("- Informe o nome:\n");
            name = Console.ReadLine();

            Console.WriteLine("\n- Informe a descrição:\n");
            description = Console.ReadLine();

            Console.WriteLine("\n- Informe a classificação (0, 10, 12, 14, 16 ou 18):\n");
            classification = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("\n- Informe o link da imagem de capa:\n");
            link = Console.ReadLine();

            Console.WriteLine("\n- Informe a duração (ex: 1h 20min):\n");
            durationTime = Console.ReadLine();

            Console.WriteLine("\n- Informe o gênero:\n");
            gender = Console.ReadLine();

            movie = builder
                    .id(m != null ? m.getId() : null)
                    .name(name)
                    .description(description)
                    .classification(classification)
                    .link(link)
                    .gender(new Gender(MediaType.Movie, gender))
                    .durationTime(durationTime)
                    .build();
        }
        catch (Exception e) { }

        return(movie);
    }
Пример #19
0
        public void GetPeopleCount_Should_Return_Correct_Director_Count()
        {
            RunTest(() =>
            {
                var movieOne = new MovieBuilder(Guid.NewGuid().ToString()).AddPerson(new ExtraPerson {
                    Id = Guid.NewGuid().ToString(), Type = PersonType.Director, Name = "Test"
                }).Build();
                var movieTwo = new MovieBuilder(Guid.NewGuid().ToString()).AddPerson(new ExtraPerson {
                    Id = movieOne.People.First().Id, Type = PersonType.Actor, Name = "Test"
                }).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var count = _movieRepository.GetPeopleCount(new string[0], PersonType.Director);
                count.Should().Be(1);
            });
        }
Пример #20
0
        public void GetAllWithImdbId_And_Library_Filter_Should_Return_List()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).AddSortName("A").Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).AddSortName("B").AddImdb(string.Empty).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddSortName("C").AddCollectionId("2").Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var result = _movieRepository.GetAllWithImdbId(new[] { "1" });

                result.Should().NotBeNull();
                result.Count.Should().Be(1);

                result[0].Should().NotBeNull();
                result[0].Id.Should().Be(movieOne.Id);
            });
        }
Пример #21
0
        public void GetOldestPremieredMedia_Should_Return_Oldest_Premiered_Movie()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).AddPremiereDate(new DateTime(2019, 1, 2)).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddPremiereDate(new DateTime(1920, 1, 2)).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var movies = _movieRepository
                             .GetOldestPremieredMedia(new string[0], 1)
                             .ToList();

                movies.Should().NotBeNull();
                movies.Count.Should().Be(1);

                movies[0].Id.Should().Be(movieThree.Id);
            });
        }
Пример #22
0
        public void GetHighestRatedMedia_Should_Return_Highest_Rated_Movie()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).AddCommunityRating(1).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCommunityRating(9).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var movies = _movieRepository
                             .GetHighestRatedMedia(new string[0], 1)
                             .ToList();

                movies.Should().NotBeNull();
                movies.Count.Should().Be(1);

                movies[0].Id.Should().Be(movieThree.Id);
            });
        }
Пример #23
0
        public void GetLatestAddedMedia_With_library_Filter_Should_Return_Latest_Added_Movie()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).AddCreateDate(new DateTime(2000, 1, 1)).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").AddCreateDate(new DateTime(2019, 1, 1)).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var movies = _movieRepository
                             .GetLatestAddedMedia(new[] { "1" }, 1)
                             .ToList();

                movies.Should().NotBeNull();
                movies.Count.Should().Be(1);

                movies[0].Id.Should().Be(movieOne.Id);
            });
        }
Пример #24
0
        public void GetLowestRatedMedia_With_library_Filter_Should_Return_Lowest_Rated_Movie()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).AddCommunityRating(1).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").AddCommunityRating(9).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree });

                var movies = _movieRepository
                             .GetLowestRatedMedia(new[] { "1" }, 1)
                             .ToList();

                movies.Should().NotBeNull();
                movies.Count.Should().Be(1);

                movies[0].Id.Should().Be(movieTwo.Id);
            });
        }
Пример #25
0
        public void GetShortestMovie_Should_Return_Shortest_Movie()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).AddRunTimeTicks(1, 30, 1).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddRunTimeTicks(1, 13, 1).AddCollectionId("2").Build();
                var movieFour  = new MovieBuilder(Guid.NewGuid().ToString()).AddRunTimeTicks(0, 3, 1).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree, movieFour });

                var movies = _movieRepository
                             .GetShortestMovie(new string[0], TimeSpan.FromMinutes(10).Ticks, 1)
                             .ToList();
                movies.Should().NotBeNull();
                movies.Count.Should().Be(1);

                movies[0].Id.Should().Be(movieThree.Id);
            });
        }
Пример #26
0
        public void ShortMoviesWithSettingDisabled()
        {
            var settingsServiceMock = new Mock <ISettingsService>();

            settingsServiceMock
            .Setup(x => x.GetUserSettings())
            .Returns(new UserSettings {
                ToShortMovie = 10, MovieLibraries = new List <string> {
                    _collections[0].Id, _collections[1].Id
                }, ToShortMovieEnabled = false
            });
            var movieFour = new MovieBuilder(Guid.NewGuid().ToString()).AddRunTimeTicks(0, 1, 0).Build();
            var service   = CreateMovieService(settingsServiceMock, _movieOne, _movieTwo, _movieThree, movieFour);
            var stat      = service.GetStatistics(_collections.Select(x => x.Id).ToList());

            stat.Should().NotBeNull();
            stat.Shorts.Should().NotBeNull();
            stat.Shorts.Count().Should().Be(0);
        }
Пример #27
0
        public void GetLongestMovie_With_library_Filter_Should_Return_Longest_Movie()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).AddRunTimeTicks(1, 30, 1).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddRunTimeTicks(4, 13, 1).AddCollectionId("2").Build();
                var movieFour  = new MovieBuilder(Guid.NewGuid().ToString()).AddRunTimeTicks(0, 3, 1).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree, movieFour });

                var movies = _movieRepository
                             .GetLongestMovie(new[] { "1" }, 1)
                             .ToList();
                movies.Should().NotBeNull();
                movies.Count.Should().Be(1);

                movies[0].Id.Should().Be(movieOne.Id);
            });
        }
Пример #28
0
        public void GetToShortMovieList_With_Library_Filter_Should_Return_List_With_All_To_Short_Movies()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").Build();
                var movieFour  = new MovieBuilder(Guid.NewGuid().ToString()).AddRunTimeTicks(0, 3, 1).Build();
                var movieFive  = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").AddRunTimeTicks(0, 4, 1).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree, movieFour, movieFive });

                var movies = _movieRepository.GetToShortMovieList(new[] { "1" }, 10);
                movies.Should().NotBeNull();
                movies.Should().NotContainNulls();
                movies.Count.Should().Be(1);

                movies[0].Id.Should().Be(movieFour.Id);
            });
        }
Пример #29
0
        public void GetMoviesWithoutPrimaryImage_With_Library_Filter_Should_Return_List_With_All_Movies_Without_Primary_Image()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").Build();
                var movieFour  = new MovieBuilder(Guid.NewGuid().ToString()).AddPrimaryImage(string.Empty).Build();
                var movieFive  = new MovieBuilder(Guid.NewGuid().ToString()).AddCollectionId("2").AddPrimaryImage(string.Empty).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree, movieFour, movieFive });

                var movies = _movieRepository.GetMoviesWithoutPrimaryImage(new[] { "1" });
                movies.Should().NotBeNull();
                movies.Should().NotContainNulls();
                movies.Count.Should().Be(1);

                movies[0].Id.Should().Be(movieFour.Id);
            });
        }
Пример #30
0
        public void GetMoviesWithoutImdbId_Should_Return_List_With_All_Movies_Without_Imdb_Id()
        {
            RunTest(() =>
            {
                var movieOne   = new MovieBuilder(Guid.NewGuid().ToString()).AddSortName("A").Build();
                var movieTwo   = new MovieBuilder(Guid.NewGuid().ToString()).AddSortName("B").Build();
                var movieThree = new MovieBuilder(Guid.NewGuid().ToString()).AddSortName("C").AddCollectionId("2").Build();
                var movieFour  = new MovieBuilder(Guid.NewGuid().ToString()).AddSortName("D").AddImdb(string.Empty).Build();
                var movieFive  = new MovieBuilder(Guid.NewGuid().ToString()).AddSortName("E").AddCollectionId("2").AddImdb(string.Empty).Build();
                _movieRepository.UpsertRange(new[] { movieOne, movieTwo, movieThree, movieFour, movieFive });

                var movies = _movieRepository.GetMoviesWithoutImdbId(new string[0]);
                movies.Should().NotBeNull();
                movies.Should().NotContainNulls();
                movies.Count.Should().Be(2);

                movies[0].Id.Should().Be(movieFour.Id);
                movies[1].Id.Should().Be(movieFive.Id);
            });
        }