Пример #1
0
        public void RunWorldCup()
        {
            var top1 = new Movie()
            {
                Title = "Vingadores: Guerra Infinita", Score = 8.8M
            };
            var top2 = new Movie()
            {
                Title = "Os Incríveis 2", Score = 8.5M
            };

            var listMovies = new List <Movie>()
            {
                top2,
                new Movie()
                {
                    Title = "Jurassic World: Reino Ameaçado", Score = 6.7M
                },
                new Movie()
                {
                    Title = "Oito Mulheres e um Segredo", Score = 6.3M
                },
                new Movie()
                {
                    Title = "Hereditário", Score = 7.8M
                },
                top1,
                new Movie()
                {
                    Title = "Deadpool 2", Score = 8.1M
                },
                new Movie()
                {
                    Title = "Han Solo: Uma História Star Wars", Score = 7.2M
                },
                new Movie()
                {
                    Title = "Thor: Ragnarok", Score = 7.9M
                },
            };

            var worldCup = new WorldCup(listMovies);


            var rankTopTwo = worldCup.RunCup();

            Assert.AreEqual(2, rankTopTwo.Count);
            Assert.AreEqual(top1, rankTopTwo.FirstOrDefault());
            Assert.AreEqual(top2, rankTopTwo.LastOrDefault());
        }
Пример #2
0
        public async Task <ActionResult <List <MovieViewModel> > > GetWinner(List <string> moviesIds)
        {
            var moviesViewModel = (await _movieWorldCupService.GetMovies())
                                  .Where(a => moviesIds.Contains(a.Id));

            var movies = _mapper.Map <List <Movie> >(moviesViewModel);

            var worldCup = new WorldCup(movies);

            if (!worldCup.IsValid())
            {
                return(UnprocessableEntity());
            }

            return(_mapper.Map <List <MovieViewModel> >(worldCup.RunCup()));
        }