public void Verify_MapToEntity_AssignsMovieProperties() { // Arrange var mapper = new MovieMapper(); var model = MoviesMockingSetup.DoMockingSetupForMovieModel(); // Act var entity = mapper.MapToEntity(model.Object); // Assert Assert.Equal(model.Object.HasStaffReview, entity.HasStaffReview); Assert.Equal(model.Object.Distributor, entity.Distributor); Assert.Equal(model.Object.BoxOfficeRevenue, entity.BoxOfficeRevenue); Assert.Equal(model.Object.TotalRevenue, entity.TotalRevenue); Assert.Equal(model.Object.Budget, entity.Budget); Assert.Equal(model.Object.Rating, entity.Rating); Assert.Equal(model.Object.ReleaseDate, entity.ReleaseDate); Assert.Equal(model.Object.RunTime, entity.RunTime); // Related Objects Assert.Equal(model.Object.PrimaryImageFileId, entity.PrimaryImageFileId); // Associated Objects //Assert.Equal(model.Object.MovieCharacters?.Count, entity.MovieCharacters?.Count); model.VerifyGet(x => x.MovieCharacters, Times.Once); //Assert.Equal(model.Object.MovieConcepts?.Count, entity.MovieConcepts?.Count); model.VerifyGet(x => x.MovieConcepts, Times.Once); //Assert.Equal(model.Object.MovieLocations?.Count, entity.MovieLocations?.Count); model.VerifyGet(x => x.MovieLocations, Times.Once); //Assert.Equal(model.Object.MovieObjects?.Count, entity.MovieObjects?.Count); model.VerifyGet(x => x.MovieObjects, Times.Once); //Assert.Equal(model.Object.MovieProducers?.Count, entity.MovieProducers?.Count); model.VerifyGet(x => x.MovieProducers, Times.Once); //Assert.Equal(model.Object.MovieStoryArcs?.Count, entity.MovieStoryArcs?.Count); model.VerifyGet(x => x.MovieStoryArcs, Times.Once); //Assert.Equal(model.Object.MovieStudios?.Count, entity.MovieStudios?.Count); model.VerifyGet(x => x.MovieStudios, Times.Once); //Assert.Equal(model.Object.MovieTeams?.Count, entity.MovieTeams?.Count); model.VerifyGet(x => x.MovieTeams, Times.Once); //Assert.Equal(model.Object.MovieWriters?.Count, entity.MovieWriters?.Count); model.VerifyGet(x => x.MovieWriters, Times.Once); }
public IMovieMapper Get_Movie_by_ID(IMovieMapper movie) { IMovieMapper output = null; try { using (SqlConnection connection = new SqlConnection(ConnectionString)) { connection.Open(); using (SqlCommand command = new SqlCommand("select_movie_by_id", connection)) { command.CommandType = CommandType.StoredProcedure; //Add input parameters: command.Parameters.Add("@MovieID", SqlDbType.Int).Value = movie.Id; //command.ExecuteNonQuery(); //Run the query. command.Prepare(); SqlDataReader movies = command.ExecuteReader(); while (movies.Read()) { //Return the user that was created: output = new MovieMapper(); output.Id = movie.Id; output.Title = (String)movies["Title"]; output.RunTime = (int)movies["RunTime"]; output.Image = (String)movies["Image"]; output.ShowTimes = Get_ShowTimes_by_MovieID(movie); } } } } catch (SqlException e) { throw new SqlDALException("There was a problem with SQL. Please provide valid data. The MovieId field must be provided and must exist in the database.", e); } return(output); }
public void ToMovie_HasMovieResultWithNoAvailableGenres_ReturnsMovieWithNoGenres() { var smallPosterBaseUrl = "https://image.tmdb.org/t/p/w185"; var largePosterBaseUrl = "https://image.tmdb.org/t/p/w500"; var source = new MovieResult() { Adult = true, GenreIds = new int[] { 1, 2 }, Id = 10, Overview = "Some overview text", Popularity = 8.52D, PosterPath = "/another.poster.path", ReleaseDate = "2010-01-01", Title = "Movie title", VoteAverage = 7.43D, VoteCount = 54 }; var genreInfo = new GenreInfo(); var target = new MovieMapper(); var actual = target.ToMovie(source, genreInfo); Assert.AreEqual($"{smallPosterBaseUrl}{source.PosterPath}", actual.SmallPosterUri.ToString()); Assert.AreEqual($"{largePosterBaseUrl}{source.PosterPath}", actual.LargePosterUri.ToString()); Assert.AreEqual(source.Id, actual.Id); Assert.AreEqual(source.Overview, actual.Overview); Assert.AreEqual(source.Popularity, actual.Popularity); Assert.AreEqual(source.Title, actual.Title); Assert.AreEqual(source.VoteAverage, actual.VoteAverage); Assert.AreEqual(source.VoteCount, actual.VoteCount); Assert.IsEmpty(actual.Genres); Assert.AreEqual(DateTime.Parse( source.ReleaseDate, new CultureInfo("en-US"), DateTimeStyles.AssumeUniversal), actual.ReleaseDate); }
//public List<IMovieMapper> Search_Movie_by_Name(string search_criteria) //{ // List<IMovieMapper> output = new List<IMovieMapper>(); // try // { // using (SqlConnection connection = new SqlConnection(ConnectionString)) // { // connection.Open(); // using (SqlCommand command = new SqlCommand("search_movies_by_title", connection)) // { // command.CommandType = CommandType.StoredProcedure; // //Add input parameters: // command.Parameters.Add("@Title", SqlDbType.VarChar).Value = search_criteria; // command.Prepare(); // SqlDataReader movies = command.ExecuteReader(); // while (movies.Read()) // { // MovieMapper movie = new MovieMapper(); // movie.Id = (int)movies["Id"]; // movie.Title = (String)movies["Title"]; // movie.RunTime = (int)movies["RunTime"]; // movie.Image = (String)movies["Image"]; // movie.ShowTimes = Get_ShowTimes_by_MovieID(movie); // output.Add(movie); // } // } // } // } // catch (SqlException e) // { // throw new SqlDALException("There was a problem with SQL. Please provide valid data. The Title field must be provided, and must exist in the database.", e); // } // return output; //} public List <IMovieMapper> Search_Movie_by_Name_Like(string search_criteria) { List <IMovieMapper> output = new List <IMovieMapper>(); try { using (SqlConnection connection = new SqlConnection(ConnectionString)) { connection.Open(); using (SqlCommand command = new SqlCommand("search_movies_by_title_like", connection)) { command.CommandType = CommandType.StoredProcedure; //Add input parameters: command.Parameters.Add("@Title", SqlDbType.VarChar).Value = "%" + search_criteria + "%"; command.Prepare(); SqlDataReader movies = command.ExecuteReader(); while (movies.Read()) { MovieMapper movie = new MovieMapper(); movie.Id = (int)movies["Id"]; movie.Title = (String)movies["Title"]; movie.RunTime = (int)movies["RunTime"]; movie.Image = (String)movies["Image"]; movie.ShowTimes = Get_ShowTimes_by_MovieID(movie); output.Add(movie); } } } } catch (SqlException e) { throw new SqlDALException("There was a problem with SQL. Please provide valid data. The Title field must be provided, and must exist in the database.", e); } return(output); }
public List <IMovieMapper> Get_All_Movies() { List <IMovieMapper> output = new List <IMovieMapper>(); try { using (SqlConnection connection = new SqlConnection(ConnectionString)) { connection.Open(); using (SqlCommand command = new SqlCommand("select_all_movies", connection)) { command.CommandType = CommandType.StoredProcedure; command.Prepare(); SqlDataReader movies = command.ExecuteReader(); while (movies.Read()) { //Return the user that was created: IMovieMapper movie = new MovieMapper(); movie.Id = (int)movies["Id"]; movie.Title = (String)movies["Title"]; movie.RunTime = (int)movies["RunTime"]; movie.Image = (String)movies["Image"]; movie.ShowTimes = Get_ShowTimes_by_MovieID(movie); output.Add(movie); } } } } catch (SqlException e) { throw new SqlDALException("There was a problem with SQL.", e); } return(output); }
public void Verify_MapToModel_AssignsMovieProperties() { // Arrange var mapper = new MovieMapper(); var entity = MoviesMockingSetup.DoMockingSetupForMovie(); // Act var model = mapper.MapToModel(entity.Object); // Assert Assert.Equal(entity.Object.HasStaffReview, model.HasStaffReview); Assert.Equal(entity.Object.Distributor, model.Distributor); Assert.Equal(entity.Object.BoxOfficeRevenue, model.BoxOfficeRevenue); Assert.Equal(entity.Object.TotalRevenue, model.TotalRevenue); Assert.Equal(entity.Object.Budget, model.Budget); Assert.Equal(entity.Object.Rating, model.Rating); Assert.Equal(entity.Object.ReleaseDate, model.ReleaseDate); Assert.Equal(entity.Object.RunTime, model.RunTime); // Related Objects Assert.Equal(entity.Object.PrimaryImageFileId, model.PrimaryImageFileId); // Associated Objects Assert.Equal(entity.Object.MovieCharacters?.Count, model.MovieCharacters?.Count); Assert.Equal(entity.Object.MovieConcepts?.Count, model.MovieConcepts?.Count); Assert.Equal(entity.Object.MovieLocations?.Count, model.MovieLocations?.Count); Assert.Equal(entity.Object.MovieObjects?.Count, model.MovieObjects?.Count); Assert.Equal(entity.Object.MovieProducers?.Count, model.MovieProducers?.Count); Assert.Equal(entity.Object.MovieStoryArcs?.Count, model.MovieStoryArcs?.Count); Assert.Equal(entity.Object.MovieStudios?.Count, model.MovieStudios?.Count); Assert.Equal(entity.Object.MovieTeams?.Count, model.MovieTeams?.Count); Assert.Equal(entity.Object.MovieWriters?.Count, model.MovieWriters?.Count); }
public void Verify_MapToModelLite_AssignsLiteOnlyMovieProperties() { // Arrange var mapper = new MovieMapper(); var entity = MoviesMockingSetup.DoMockingSetupForMovie(); // Act var model = mapper.MapToModelLite(entity.Object); // Assert Assert.Equal(entity.Object.HasStaffReview, model.HasStaffReview); Assert.Equal(entity.Object.Distributor, model.Distributor); Assert.Equal(entity.Object.BoxOfficeRevenue, model.BoxOfficeRevenue); Assert.Equal(entity.Object.TotalRevenue, model.TotalRevenue); Assert.Equal(entity.Object.Budget, model.Budget); Assert.Equal(entity.Object.Rating, model.Rating); Assert.Equal(entity.Object.ReleaseDate, model.ReleaseDate); Assert.Equal(entity.Object.RunTime, model.RunTime); // Related Objects Assert.Equal(entity.Object.PrimaryImageFileId, model.PrimaryImageFileId); }
public void Verify_MapToEntity_WithExistingEntity_AssignsMovieProperties() { // Arrange var mapper = new MovieMapper(); var model = MoviesMockingSetup.DoMockingSetupForMovieModel(); // Act IMovie existingEntity = new Movie { Id = 1 }; mapper.MapToEntity(model.Object, ref existingEntity); // Assert Assert.Equal(model.Object.HasStaffReview, existingEntity.HasStaffReview); Assert.Equal(model.Object.Distributor, existingEntity.Distributor); Assert.Equal(model.Object.BoxOfficeRevenue, existingEntity.BoxOfficeRevenue); Assert.Equal(model.Object.TotalRevenue, existingEntity.TotalRevenue); Assert.Equal(model.Object.Budget, existingEntity.Budget); Assert.Equal(model.Object.Rating, existingEntity.Rating); Assert.Equal(model.Object.ReleaseDate, existingEntity.ReleaseDate); Assert.Equal(model.Object.RunTime, existingEntity.RunTime); // Related Objects Assert.Equal(model.Object.PrimaryImageFileId, existingEntity.PrimaryImageFileId); // Associated Objects model.VerifyGet(x => x.MovieCharacters, Times.Once); //Assert.Equal(model.Object.MovieCharacters?.Count, existingEntity.MovieCharacters?.Count); model.VerifyGet(x => x.MovieConcepts, Times.Once); //Assert.Equal(model.Object.MovieConcepts?.Count, existingEntity.MovieConcepts?.Count); model.VerifyGet(x => x.MovieLocations, Times.Once); //Assert.Equal(model.Object.MovieLocations?.Count, existingEntity.MovieLocations?.Count); model.VerifyGet(x => x.MovieObjects, Times.Once); //Assert.Equal(model.Object.MovieObjects?.Count, existingEntity.MovieObjects?.Count); model.VerifyGet(x => x.MovieProducers, Times.Once); //Assert.Equal(model.Object.MovieProducers?.Count, existingEntity.MovieProducers?.Count); model.VerifyGet(x => x.MovieStoryArcs, Times.Once); //Assert.Equal(model.Object.MovieStoryArcs?.Count, existingEntity.MovieStoryArcs?.Count); model.VerifyGet(x => x.MovieStudios, Times.Once); //Assert.Equal(model.Object.MovieStudios?.Count, existingEntity.MovieStudios?.Count); model.VerifyGet(x => x.MovieTeams, Times.Once); //Assert.Equal(model.Object.MovieTeams?.Count, existingEntity.MovieTeams?.Count); model.VerifyGet(x => x.MovieWriters, Times.Once); //Assert.Equal(model.Object.MovieWriters?.Count, existingEntity.MovieWriters?.Count); }
public void Verify_AreEqual_WithEqualObjects_ReturnsTrue() { // Arrange var mapper = new MovieMapper(); var model = MoviesMockingSetup.DoMockingSetupForMovieModel(1); var entity = MoviesMockingSetup.DoMockingSetupForMovie(1); // Act var result = mapper.AreEqual(model.Object, entity.Object); // Assert Assert.True(result); }
public async Task <Movie> Get(Guid id) { return(await MovieMapper.Map(_movieService.Get(id)) .AddLinks(_linksService)); }
public async Task <MovieDto> GetById(long id) { var movie = await _iMovieRepository.GetById(id); return(MovieMapper.MapMovieToDto(movie)); }
public IMovieModel Get(string key) { BusinessWorkflowBase.ValidateRequiredKey(key); return(MovieMapper.MapToModel(MoviesRepository.Get(key))); }
public IMovieModel Get(int id) { BusinessWorkflowBase.ValidateRequiredID(id); return(MovieMapper.MapToModel(MoviesRepository.Get(id))); }
public void ToMovie_GenreInfoIsNull_ThrowsArgumentNullException() { var target = new MovieMapper(); Assert.Throws <ArgumentNullException>(() => target.ToMovie(new MovieResult(), null)); }
public void Verify_MapToSearchModel_AssignsMovieSearchProperties() { // Arrange var mapper = new MovieMapper(); var model = MoviesMockingSetup.DoMockingSetupForMovieModel(); // Act var searchModel = mapper.MapToSearchModel(model.Object); // Assert Assert.Equal(model.Object.PrimaryImageFileId, searchModel.PrimaryImageFileId); Assert.Equal(model.Object.PrimaryImageFile?.CustomKey, searchModel.PrimaryImageFileCustomKey); Assert.Equal(model.Object.PrimaryImageFile?.ApiDetailUrl, searchModel.PrimaryImageFileApiDetailUrl); Assert.Equal(model.Object.PrimaryImageFile?.SiteDetailUrl, searchModel.PrimaryImageFileSiteDetailUrl); Assert.Equal(model.Object.PrimaryImageFile?.Name, searchModel.PrimaryImageFileName); Assert.Equal(model.Object.PrimaryImageFile?.ShortDescription, searchModel.PrimaryImageFileShortDescription); Assert.Equal(model.Object.PrimaryImageFile?.Description, searchModel.PrimaryImageFileDescription); Assert.Equal(model.Object.HasStaffReview, searchModel.HasStaffReview); Assert.Equal(model.Object.Distributor, searchModel.Distributor); }
public async Task Add(MovieDto movie) { await _iMovieRepository.Add(MovieMapper.MapDtoToMovie(movie)); }
public async Task <IEnumerable <Movie> > Get() { return(await _movieService.Get() .Select(entity => MovieMapper.Map(entity)) .AddLinks(_linksService)); }
public async Task Update(MovieDto entity) { await _iMovieRepository.Update(MovieMapper.MapDtoToMovie(entity)); }
public MovieOrchestrator(IOMDBConnector OMDBConnector, MovieMapper movieMapper, MovieConverter movieConverter) { _OMDBConnector = OMDBConnector; _movieMapper = movieMapper; _movieConverter = movieConverter; }
// Setup // The constructor is used as a setup method -> xunit // other testing frameworks might have specific method names // or annotations public MovieMapperTests() { _movieMapper = new MovieMapper(); }