def read_csv_file(self): with open(self.__file_name, newline="", encoding="utf-8-sig") as csv_file: csv_reader = csv.DictReader(csv_file) for row in csv_reader: movie = Movie(row["Title"], int(row["Year"])) movie.description = row["Description"] movie.runtime_minutes = int(row["Runtime (Minutes)"]) if movie not in self.__dataset_of_movies: self.__dataset_of_movies.append(movie) actors = row["Actors"].split(",") for actor in actors: actor_true = Actor(actor.strip()) if actor_true not in self.__dataset_of_actors: self.__dataset_of_actors.append(actor_true) movie.add_actor(actor_true) director = Director(row["Director"]) movie.director = director if director not in self.__dataset_of_directors: self.__dataset_of_directors.append(director) genres = row["Genre"].split(",") for genre in genres: genre_true = Genre(genre.strip()) if genre_true not in self.__dataset_of_genres: self.__dataset_of_genres.append(genre_true) movie.add_genre(genre_true)
def repository(): repo = MemoryRepository() user1 = User("Myles Kennedy", "123") user2 = User("Mark Tremonti", "456") director1 = Director("Taika Waititi") director2 = Director("Steven Speilberg") actor1 = Actor("Chris Pratt") actor2 = Actor("Emma Watson") genre1 = Genre("Comedy") genre2 = Genre("Animation") movie1 = Movie("Moana", 2016) movie2 = Movie("Ice Age", 2002) movie1.director = director1 movie2.director = director2 movie1.add_actor(actor1) movie2.add_actor(actor2) movie1.add_genre(genre1) movie2.add_genre(genre2) review1 = Review(movie1, "very nice", 9) review2 = Review(movie2, "incredible", 10) user1.add_review(review1) user2.add_review(review2) repo.add_movie(movie1) repo.add_movie(movie2) repo.add_director(director1) repo.add_director(director2) repo.add_actor(actor1) repo.add_actor(actor2) repo.add_genre(genre1) repo.add_genre(genre2) repo.add_review(review1) repo.add_review(review2) repo.add_user(user1) repo.add_user(user2) return repo
def test_movie_remove_actor(): movie1 = Movie("Princess and The Frog", 2009) actor1 = Actor("Anika Noni Rose") actor2 = Actor("Keith David") movie1.add_actor(actor1) movie1.add_actor(actor2) movie1.remove_actor(actor1) assert movie1.return_actor() == [actor2]
def test_get_movies_by_actor(repository): movie1 = Movie("Moana", 2016) movie1.add_actor(Actor("Chris Pratt")) movie1.add_actor(Actor("Emma Watson")) movie2 = Movie("Ice Age", 2002) movie2.add_actor(Actor("Emma Watson")) repository.add_movie(movie1) repository.add_movie(movie2) assert repository.get_movies_by_actor("Chris Pratt") == [movie1] assert repository.get_movies_by_actor("xyz") == [] assert repository.get_movies_by_actor("Emma Watson") == [movie2, movie1] assert repository.get_movies_by_actor(1) == []
def test_movie_add_actor(): movie1 = Movie("Princess and The Frog", 2009) actor1 = Actor("Anika Noni Rose") movie1.add_actor(actor1) assert movie1.return_actor() == [actor1]