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