public void ItReturns_CorrectPoco_FromTmdbOmdbDtos(MovieOmdb omdb, MovieTmdb tmdb)
        {
            var moviesMapper = new MoviesMapper();

            var moviesPoco = moviesMapper.Map(tmdb, omdb);

            bool movieGenresMappedCorrectly = true;

            for (var i = 0; i < tmdb.Genres.Length; i++)
            {
                var movieGenre = moviesPoco.MovieGenres.ElementAt(i);

                if (movieGenre.GenreId != tmdb.Genres[i].Id ||
                    movieGenre.Title != omdb.Title ||
                    movieGenre.Released != omdb.Released)
                {
                    movieGenresMappedCorrectly = false;
                }
            }


            Assert.True(movieGenresMappedCorrectly);
            Assert.Equal(omdb.ImdbVotes, moviesPoco.ImdbVotes);
            Assert.Equal(omdb.Awards, moviesPoco.Awards);
            Assert.Equal(omdb.Director, moviesPoco.Director);
            Assert.Equal(omdb.ImdbRating, moviesPoco.ImdbRating);
            Assert.Equal(omdb.Metascore, moviesPoco.Metascore);
            Assert.Equal(omdb.Plot, moviesPoco.Plot);
            Assert.Equal(omdb.Released, moviesPoco.Released);
            Assert.Equal(omdb.Runtime, moviesPoco.Runtime);
            Assert.Equal(omdb.Title, moviesPoco.Title);
            Assert.Equal(omdb.TomatoMeter, moviesPoco.TomatoMeter);
        }
        public void ItReturns_CorrectMovieDto_FromMoviePoco(MoviePoco movie)
        {
            var moviesMapper = new MoviesMapper();

            var movieDto = moviesMapper.Map(movie);

            Assert.Equal(movie.ImdbVotes, movieDto.ImdbVotes);
            Assert.Equal(movie.Awards, movieDto.Awards);
            Assert.Equal(movie.Director, movieDto.Director);
            Assert.Equal(movie.ImdbRating, movieDto.ImdbRating);
            Assert.Equal(movie.Metascore, movieDto.Metascore);
            Assert.Equal(movie.Plot, movieDto.Plot);
            Assert.Equal(movie.Released, movieDto.Released);
            Assert.Equal(movie.Runtime, movieDto.Runtime);
            Assert.Equal(movie.Title, movieDto.Title);
            Assert.Equal(movie.TomatoMeter, movieDto.TomatoMeter);
        }
        public void ItReturns_CorrectMovies_FromPocos(ICollection <MoviePoco> movies)
        {
            var moviesMapper = new MoviesMapper();

            var moviesDto = moviesMapper.Map(movies);

            for (var i = 0; i < movies.Count; i++)
            {
                Assert.Equal(moviesDto.ElementAt(i).ImdbVotes, movies.ElementAt(i).ImdbVotes);
                Assert.Equal(moviesDto.ElementAt(i).Awards, movies.ElementAt(i).Awards);
                Assert.Equal(moviesDto.ElementAt(i).Director, movies.ElementAt(i).Director);
                Assert.Equal(moviesDto.ElementAt(i).ImdbRating, movies.ElementAt(i).ImdbRating);
                Assert.Equal(moviesDto.ElementAt(i).Metascore, movies.ElementAt(i).Metascore);
                Assert.Equal(moviesDto.ElementAt(i).Plot, movies.ElementAt(i).Plot);
                Assert.Equal(moviesDto.ElementAt(i).Released, movies.ElementAt(i).Released);
                Assert.Equal(moviesDto.ElementAt(i).Runtime, movies.ElementAt(i).Runtime);
                Assert.Equal(moviesDto.ElementAt(i).Title, movies.ElementAt(i).Title);
                Assert.Equal(moviesDto.ElementAt(i).TomatoMeter, movies.ElementAt(i).TomatoMeter);
            }
        }
        public void ItReturns_CorrectTmdbMovie_FromMovieByGenreTmdb(MovieByGenreTmdb movie)
        {
            var moviesMapper = new MoviesMapper();

            var movieTmdb = moviesMapper.Map(movie);

            var correctTmdb = true;

            for (var i = 0; i < movieTmdb.Genres.Length; i++)
            {
                var genre = movieTmdb.Genres.ElementAt(i);

                if (genre.Id != movie.GenreIds.ElementAt(i))
                {
                    correctTmdb = false;
                }
            }

            Assert.True(correctTmdb);
        }