def test_user_watch_movie(): movie1 = Movie("Princess and The Frog", 2009) movie1.runtime_minutes = 98 user1 = User("Jenna da Cruz", "testing123") user1.watch_movie(movie1) assert user1.watched_movies == [movie1] assert user1.time_spent_watching_movies_minutes is 98
def test_get_reviews_for_movie(repository): assert services.get_reviews_for_movie(Movie( "Moana", 2016), repository)[0]['review_text'] == "very nice" assert services.get_reviews_for_movie(Movie("Moana", 2016), repository)[0]['rating'] == 9 assert services.get_reviews_for_movie(Movie("A Silent Voice", 2016), repository) == []
def test_movie_actor_property(): movie1 = Movie("Princess and The Frog", 2009) actor1 = Actor("Anika Noni Rose") actor2 = Actor("Keith David") movie1.actors = actor1 movie1.actors = actor2 assert movie1.actors == [actor1, actor2]
def test_movie_replace_director_property(): movie1 = Movie("Princess and The Frog", 2009) director1 = Director("John Musker") director2 = Director("Ron Clements") movie1.director = director1 movie1.director = director2 assert movie1.director is director2
def test_movie_genre_property(): movie1 = Movie("Princess and The Frog", 2009) genre1 = Genre("Animation") genre2 = Genre("Musical") movie1.genres = genre1 movie1.genres = genre2 assert movie1.genres == [genre1, genre2]
def test_movie_init(): movie1 = Movie("Princess and The Frog", 2009) assert repr(movie1) == "<Movie Princess and The Frog, 2009>" movie2 = Movie("", 0) assert movie2.movie_name is None movie3 = Movie(42, "") assert movie3.movie_name is None
def test_size(watchlist): assert watchlist.size() == 0 watchlist.add_movie(Movie("Moana", 2016)) assert watchlist.size() == 1 watchlist.add_movie(Movie("Ice Age", 2002)) assert watchlist.size() == 2 watchlist.add_movie(Movie("Guardians of the Galaxy", 2012)) assert watchlist.size() == 3
def test_get_movies_by_title(session_factory): repository = SqlAlchemyRepository(session_factory) assert repository.get_movies_by_title("moana") == [Movie("Moana", 2016)] assert repository.get_movies_by_title("xyz") == [] assert repository.get_movies_by_title("avengers") == [ Movie("Avengers: Age of Ultron", 2015), Movie("The Avengers", 2012) ] assert repository.get_movies_by_title(1) == []
def test_get_movies_by_title(repository): repository.add_movie(Movie("Moana", 2016)) repository.add_movie(Movie("Ice Age", 2002)) assert repository.get_movies_by_title("moa") == [Movie("Moana", 2016)] assert repository.get_movies_by_title("xyz") == [] assert repository.get_movies_by_title("a") == [ Movie("Ice Age", 2002), Movie("Moana", 2016) ] assert repository.get_movies_by_title(1) == []
def test_get_movies_by_actor(session_factory): repository = SqlAlchemyRepository(session_factory) assert repository.get_movies_by_actor("Taika Waititi") == [ Movie("What We Do in the Shadows", 2014) ] assert repository.get_movies_by_actor("xyz") == [] assert repository.get_movies_by_actor("Isabelle Huppert") == [ Movie("Elle", 2016), Movie("L'avenir", 2016) ] assert repository.get_movies_by_actor(1) == []
def make_movie(): movie = Movie( "Moana", 2016 ) movie.description = "In Ancient Polynesia, when a terrible curse incurred by the Demigod Maui reaches an " \ "impetuous Chieftain's daughter's island, she answers the Ocean's call to seek out the " \ "Demigod to set things right." movie.runtime_minutes = 107 return movie
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 test_get_movies_by_director(session_factory): repository = SqlAlchemyRepository(session_factory) assert repository.get_movies_by_director("Taika Waititi") == [ Movie("Hunt for the Wilderpeople", 2016) ] assert repository.get_movies_by_director("xyz") == [] assert repository.get_movies_by_director("John Crowley") == [ Movie("Brooklyn", 2015), Movie("Closed Circuit", 2013) ] assert repository.get_movies_by_director(1) == []
def test_get_movies_by_genre(repository): movie1 = Movie("Moana", 2016) movie1.add_genre(Genre("Comedy")) movie1.add_genre(Genre("Animated")) movie2 = Movie("Ice Age", 2002) movie2.add_genre(Genre("Animated")) repository.add_movie(movie1) repository.add_movie(movie2) assert repository.get_movies() == [movie2, movie1] assert repository.get_movies_by_genre("Comedy") == [movie1] assert repository.get_movies_by_genre("xyz") == [] assert repository.get_movies_by_genre("Animated") == [movie2, movie1] assert repository.get_movies_by_genre(1) == []
def test_write_review(simulation): user1 = User("Myles Kennedy", "abcde") simulation.add_user(user1) simulation.write_review(user1, "Great movie", 7) assert user1.reviews[0].movie == Movie("Moana", 2016) assert user1.reviews[0].review_text == "Great movie" assert user1.reviews[0].rating == 7
def test_movie_remove_genre(): movie1 = Movie("Princess and The Frog", 2009) genre1 = Genre("Animation") genre2 = Genre("Musical") movie1.add_genre(genre1) movie1.add_genre(genre2) movie1.remove_genre(genre1) assert movie1.return_genre() == [genre2]
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 get_movie(self, title: str, release_year: int): try: movie = Movie(title, release_year) if movie in self._movies: return self._movies[self._movies.index(movie)] except KeyError: pass # Ignore exception and return None. return None
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_get_movies_by_director(repository): movie1 = Movie("Moana", 2016) movie1.director = Director("Taika Waititi") movie2 = Movie("Ice Age", 2002) movie2.director = Director("Steven Speilberg") movie3 = Movie("A Silent Voice", 2016) movie3.director = Director("Steven Speilberg") repository.add_movie(movie1) repository.add_movie(movie2) repository.add_movie(movie3) assert repository.get_movies_by_director("Taika Waititi") == [movie1] assert repository.get_movies_by_director("xyz") == [] assert repository.get_movies_by_director("Steven Speilberg") == [ movie3, movie2 ] assert repository.get_movies_by_director(1) == []
def test_review_methods(): user1 = "user1" user2 = "user2" movie = Movie("Moana", 2016) review_text = "This movie was very enjoyable." rating = 8 review1 = Review(user1, movie, review_text, rating) movie = Movie("Moana", 2016) review_text = "This movie was very enjoyable." rating = 8 review2 = Review(user1, movie, review_text, rating) movie = Movie("Cats", 2016) review_text = "This movie was very lame." rating = 4 review3 = Review(user2, movie, review_text, rating) assert review1.__eq__(review2) == True assert review1.__eq__(review1) == True assert review1.__eq__(review3) == False
def test_add_and_get_movies(repository): assert repository.get_movies() == [] repository.add_movie(Movie("Moana", 2016)) repository.add_movie(Movie("Ice Age", 2002)) repository.add_movie(Movie("Ice Age", 2002)) assert repository.get_movie("Moana", 2016) == Movie("Moana", 2016) assert repository.get_movie("A Silent Voice", 2016) is None assert repository.get_movies() == [ Movie("Ice Age", 2002), Movie("Moana", 2016) ]
def test_get_number_of_movies(session_factory): repository = SqlAlchemyRepository(session_factory) initial_length = repository.get_number_of_movies() movie1 = Movie("Maquia", 2018) movie2 = Movie("Ice Age", 2002) movie1.description = "The Iorph people live far away from the world of humans, spending their days weaving " \ "Hibiol, a special cloth serving as a written chronicle every time. They age more slowly " \ "than humans and have the capacity to live for hundreds of years." movie1.runtime_minutes = 115 movie2.description = "A Cronopio known as Scrat attempts to find a place to store his acorn for the winter. " \ "Eventually, as he tries to stomp it into the ground, he inadvertently causes a large " \ "crack to form in the ice that extends for miles before setting off a large avalanche " \ "which nearly crushes him." movie2.runtime_minutes = 81 repository.add_movie(movie1) assert repository.get_number_of_movies() == initial_length + 1 repository.add_movie(movie2) assert repository.get_number_of_movies() == initial_length + 2
def get_movies_by_date(self, target_date: int) -> List[Movie]: movie_name = None date_year = target_date target_movie = Movie(movie_name, date_year) matching_movies = list() try: index = self.movies_index(target_movie) for movie in self._movies[index:None]: if movie.date == target_date: matching_movies.append(movie) else: break except ValueError: # No articles for specified date. Simply return an empty list. pass return matching_movies
def test_first_movie_in_watchlist_success(watchlist): watchlist.add_movie(Movie("Moana", 2016)) watchlist.add_movie(Movie("Ice Age", 2002)) assert watchlist.first_movie_in_watchlist() == Movie("Moana", 2016)
def test_select_movie_to_watch_failure(watchlist): watchlist.add_movie(Movie("Moana", 2016)) assert watchlist.select_movie_to_watch(1) is None
def test_select_movie_to_watch_success(watchlist): watchlist.add_movie(Movie("Moana", 2016)) watchlist.add_movie(Movie("Ice Age", 2002)) watchlist.add_movie(Movie("Guardians of the Galaxy", 2012)) assert watchlist.select_movie_to_watch(1) == Movie("Ice Age", 2002)
def test_add_duplicate_movie(watchlist): watchlist.add_movie(Movie("Moana", 2016)) watchlist.add_movie(Movie("Moana", 2016)) assert repr(watchlist) == "[<Movie Moana, 2016>]"
def test_remove_non_existent_movie(watchlist): watchlist.add_movie(Movie("Ice Age", 2002)) watchlist.remove_movie(Movie("Moana", 2016)) assert repr(watchlist) == "[<Movie Ice Age, 2002>]"
def test_remove_movie(watchlist): watchlist.add_movie(Movie("Moana", 2016)) watchlist.remove_movie(Movie("Moana", 2016)) assert repr(watchlist) == "[]"