Example #1
0
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"
Example #2
0
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)
Example #3
0
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
Example #4
0
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
Example #5
0
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
Example #6
0
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