public async Task TestCalculateRankingsAsync()
        {
            // Arrange
            var tournament = new TournamentBuilder().Build();
            var standing   = new Standing(tournament);
            var movies     = tournament.Movies
                             .OrderBy(m => m.Titulo);
            var firstHalf = movies.Take(4)
                            .ToList();
            var secondHalf = movies
                             .Skip(4)
                             .Take(4)
                             .Reverse()
                             .ToList();
            var expectedScore0 = new List <string>()
            {
                "tt5164214", "tt7784604", "tt3778644"
            };
            var expectedScore1 = new List <string>()
            {
                "tt3501632", "tt4881806"
            };
            var expectedScore2 = new List <string>()
            {
                "tt3606756"
            };
            var expectedScore3 = new List <string>()
            {
                "tt4154756"
            };

            // Act
            var result = await standing.CalculateRankingsAsync(firstHalf, secondHalf);

            // Assert
            result.Should().BeTrue();
            standing.Rankings
            .Where(r => expectedScore0.Contains(r.Movie.Id))
            .ToList()
            .Should().HaveCount(expectedScore0.Count);

            standing.Rankings
            .Where(r => expectedScore1.Contains(r.Movie.Id))
            .ToList()
            .Should().HaveCount(expectedScore1.Count);

            standing.Rankings
            .Where(r => expectedScore2.Contains(r.Movie.Id))
            .ToList()
            .Should().HaveCount(expectedScore2.Count);

            standing.Rankings
            .Where(r => expectedScore3.Contains(r.Movie.Id))
            .ToList()
            .Should().HaveCount(expectedScore3.Count);
        }