def test_init(user): assert user.watched_movies == MovieList() assert user.time_spent_watching_movies_minutes == 0 assert user.reviews == [] assert user.username == "aram485" assert user.password == "Spiderman209" user1 = User("", 4) user2 = User(45, "") assert user1.username is None assert user1.password is None assert user2.username is None assert user2.password is None mov = Movie("Up", 2009) mov2 = Movie("Down", 2019) mov.runtime_minutes = 200 mov2.runtime_minutes = 160 review = Review(mov, "Nice", 6) time = mov.runtime_minutes + mov2.runtime_minutes watched_already = MovieList() watched_already.add_movie(mov) watched_already.add_movie(mov2) user2 = User(" ARAM85 ", "spideran", watched_already, None, (review, ), time) print("user2:", user2) print(user2.watched_movies.list) assert user2.watched_movies.list == (Movie("Up", 2009), Movie("Down", 2019)) assert user2.time_spent_watching_movies_minutes == 360 assert user2.username == "aram85" assert user2.password == "spideran"
def load_movies(data_path: str, repo: MemoryRepository, data_file): print("DATA: ", data_file) for row in read_csv_file(os.path.join(data_path, data_file)): try: movie = Movie(row['Title'], int(row['Year'])) except ValueError: print("Invalid release year") else: director = Director(row['Director'].strip()) actors = row['Actors'].split(",") genres = row['Genre'].split(",") movie.director = director repo.add_director(director) movie.description = row['Description'].strip() for actor_name in actors: actor_name = actor_name.strip() actor = Actor(actor_name) if actor in repo.get_actors(): i = repo.get_actors().index(actor) actor = repo.get_actors()[i] else: repo.add_actor(actor) for actor1_name in actors: actor1_name = actor1_name.strip() if not actor.check_if_this_actor_worked_with( Actor(actor1_name)) and (actor_name != actor1_name): actor.add_actor_colleague(Actor(actor1_name)) movie.add_actor(actor) for genre_name in genres: genre = Genre(genre_name.strip()) movie.add_genre(genre) if genre not in repo.get_genres(): repo.add_genre(genre) try: movie.runtime_minutes = int(row['Runtime (Minutes)']) except ValueError: movie.runtime_minutes = None try: movie.votes = int(row['Votes']) except ValueError: movie.votes = None try: movie.rating = float(row['Rating']) except ValueError: movie.rating = None if movie not in repo.get_movies(): movie.image = get_image(movie) if movie.image == "": movie.image = "../static/none.jpg" repo.add_movie(movie)
def test_check_if_finished(simulation): # Takes one minute to run movie = Movie("Lego", 2019) movie.runtime_minutes = 1 simulation.watch_movie(movie) assert simulation.time_played == 0 assert simulation.time_left == 60 time.sleep(2) assert simulation.check_if_finished() == False assert simulation.time_played == 2 assert simulation.time_left == 58 watched = simulation.time_played remaining = simulation.time_left print() while not simulation.check_if_finished(): assert simulation.time_left == remaining assert simulation.time_played == watched watched += 1 remaining -= 1 print(watched, "\t", remaining) time.sleep(1) assert simulation.time_played is None assert simulation.time_left is None assert simulation.is_paused == False assert simulation.movie is None assert simulation.is_playing is False
def test_watch_movie_with_runtime(simulation): movie = Movie("Lego", 2019) movie.runtime_minutes = 2 successful = simulation.watch_movie(movie) assert successful == True assert simulation.movie == Movie("Lego", 2019) assert simulation.is_paused is False assert simulation.is_playing is True
def test_watch_movie(user): user.watch_movie(3) assert user.watched_movies == MovieList() assert user.time_spent_watching_movies_minutes == 0 mov = Movie("Up", 2009) user.watch_movie(mov) assert user.watched_movies.list == (Movie("Up", 2009), ) assert user.time_spent_watching_movies_minutes == 0 mov.runtime_minutes = 123 user.watch_movie(mov) assert user.watched_movies.list == (Movie("Up", 2009), ) assert user.time_spent_watching_movies_minutes == 123 user.watch_movie(mov) assert user.watched_movies.list == (Movie("Up", 2009), ) assert user.time_spent_watching_movies_minutes == 246
def test_pause_play(simulation): assert simulation.pause() == False movie = Movie("Lego", 2019) movie.runtime_minutes = 2 simulation.watch_movie(movie) time.sleep(2) simulation.pause() time.sleep(2) assert simulation.is_paused == True simulation.play() assert simulation.time_played == 2 assert simulation.time_left == 118 assert simulation.is_paused == False time.sleep(2) assert simulation.time_played == 4 assert simulation.time_left == 116