Exemplo n.º 1
0
def test_add_review():
    repo = MemoryRepository(movies_mock, [], [], [])
    u1, u2 = User("bob", "pass123"), User("bobb", "pass12")

    assert repo.add_user("bob", "pass123")
    assert repo.add_user("bobb", "pass12")

    r1 = Review(
        1, "Darth Plagueis was dumb, why couldn't he stop his apprentice??!!",
        3)
    r2 = Review(2, "The Sith did nothing wrong, Jedis just spread fake news",
                7)
    r3 = Review(2, "Star Wars is silly", 1)
    r4 = Review(
        2,
        "Oops the previous review was written by my cat, Star Wars is wonderful",
        9)

    # user_id, review
    repo.add_review(0, r1)
    repo.add_review(0, r2)
    repo.add_review(1, r3)
    repo.add_review(1, r4)

    # review for the movie m1 of id "1"
    assert repo.get_reviews(1) == [(u1, [r1])]
    assert repo.get_reviews(2) == [(u1, [r2]), (u2, [r3, r4])]
Exemplo n.º 2
0
def test_user():
    movie1 = Movie("Moana", 2016)
    movie1.runtime_minutes = 107

    movie2 = Movie("The Lion King", 1994)
    movie2.runtime_minutes = 99

    review_text = "This movie was very enjoyable."
    rating = 8
    review = Review(movie1, review_text, rating)

    user = User("John", "Str0ngP4ssw0rd")
    user.watch_movie(movie1)
    user.watch_movie(movie2)
    user.watch_movie(movie1)
    user.add_review(review)

    user2 = User("John", "c0pyc4t")
    user3 = User("Andrew", "yep")

    assert user == user2
    assert user3 < user2

    assert user3.user_name == "andrew"
    assert user.time_spent_watching_movies_minutes == 313
    assert len(user.watched_movies) == 2
    assert len(user.reviews) == 1
Exemplo n.º 3
0
    def test_watching_sim_review_average(self):
        a = MovieWatchingSimulation()
        movie1 = Movie("Moana", 2016)
        movie2 = Movie("Ice Age", 2002)
        movie3 = Movie("Guardians of the Galaxy", 2012)
        user1 = User('Jack', 'pw12345')
        user2 = User('James', 'pw67890')
        user3 = User('Janice', 'pw87465')
        review1 = Review(movie1, "Was good", 6)
        review2 = Review(movie1, "Average", 5)
        review3 = Review(movie1, "Very Great", 8)
        review4 = Review(movie2, "Great", 7)
        review5 = Review(movie2, "Excellent", 9)
        review6 = Review(movie3, "Boring", 3)

        a.add_movie_review(review1.movie, user1, review1.rating)
        a.add_movie_review(review2.movie, user2, review2.rating)
        a.add_movie_review(review3.movie, user3, review3.rating)
        a.add_movie_review(review4.movie, user1, review4.rating)
        a.add_movie_review(review5.movie, user2, review5.rating)
        a.add_movie_review(review6.movie, user1, review6.rating)
        a.add_movie_review(review4.movie, user1, review4.rating)

        assert a.get_movie_rating_average(movie1) == "Average Rating: 6.33"
        assert a.get_movie_rating_average(Movie("Ice Age",
                                                2003)) == "Unrated: No Reviews"
Exemplo n.º 4
0
    def test_least_watched(self):
        user1 = User("John", "abc123")
        user2 = User("Mike", "abcd123")
        user3 = User("Sam", "bebebebe")

        movie1 = Movie("Moana", 2016)
        movie2 = Movie("Ice Age", 2002)
        movie3 = Movie("John Cena", 1999)
        movie4 = Movie("Bravo", 2000)
        movie5 = Movie("Charlie", 1987)

        user1.watch_movie(movie1)

        user1.watch_movie(movie2)
        user1.watch_movie(movie2)
        user1.watch_movie(movie2)
        user1.watch_movie(movie2)
        user1.watch_movie(movie2)
        user2.watch_movie(movie2)

        user2.watch_movie(movie3)
        user3.watch_movie(movie3)

        lst = [movie1, movie2, movie3, movie4, movie5]

        film_comparison = movie_compare(lst)
        film_comparison.least_watched()

        assert film_comparison.movies_lst == [
            movie4, movie5, movie1, movie3, movie2
        ]
 def test_init(self):
     user1 = User("Martin", "12345")
     user2 = User("Vivian", "12345")
     user_list = [user1, user2]
     the_movie = Movie("Moana", 2016)
     watchSimulation1 = MovieWatchingSimulation(user_list, the_movie)
     assert watchSimulation1.users == user_list
Exemplo n.º 6
0
 def test_init(self):
     user1 = User('Martin', 'pw12345')
     user2 = User('Ian', 'pw67890')
     user3 = User('Daniel', 'pw87465')
     assert repr(user1) == "<User martin>"
     assert repr(user2) == "<User ian>"
     assert repr(user3) == "<User daniel>"
Exemplo n.º 7
0
    def test_watching_sim_add_review(self):
        a = MovieWatchingSimulation()
        movie1 = Movie("Moana", 2016)
        movie2 = Movie("Ice Age", 2002)
        movie3 = Movie("Guardians of the Galaxy", 2012)
        user1 = User('Jack', 'pw12345')
        user2 = User('James', 'pw67890')
        user3 = User('Janice', 'pw87465')
        review1 = Review(movie1, "Was good", 6)
        review2 = Review(movie1, "Average", 5)
        review3 = Review(movie1, "Very Great", 8)
        review4 = Review(movie2, "Great", 7)
        review5 = Review(movie2, "Excellent", 9)
        review6 = Review(movie3, "Boring", 3)

        a.add_movie_review(review1.movie, user1, review1.rating)
        a.add_movie_review(review2.movie, user2, review2.rating)
        a.add_movie_review(review3.movie, user3, review3.rating)
        a.add_movie_review(review4.movie, user1, review4.rating)
        a.add_movie_review(review5.movie, user2, review5.rating)
        a.add_movie_review(review6.movie, user1, review6.rating)
        a.add_movie_review(review4.movie, user1, review4.rating)

        assert a.movie_dict == {
            movie1: [[user1, 6], [user2, 5], [user3, 8]],
            movie2: [[user1, 7], [user2, 9], [user1, 7]],
            movie3: [[user1, 3]]
        }
 def test_change_movie(self, watching_session):
     user1 = User("Aidan", "Wasx")
     user2 = User("Iona", "Mort")
     watching_session.change_movie(user2, Movie("Lion King", 2019))
     assert watching_session.watching == Movie("Cars", 2008)
     watching_session.change_movie(user1, Movie("Lion King", 2019))
     assert watching_session.watching == Movie("Lion King", 2019)
Exemplo n.º 9
0
def test_user_index():
    repo = MemoryRepository(movies_mock, [], [], [])

    assert repo.add_user("a", "c")
    assert repo.add_user("b", "d")
    assert repo.get_user(0) == User("a", "c")
    assert repo.get_user(1) == User("b", "d")
    assert repo.get_user(2) is None
Exemplo n.º 10
0
def the_sim():
    filename = 'datafiles/Data1000Movies.csv'
    movie_file_reader = MovieFileCSVReader(filename)
    movie_file_reader.read_csv_file()
    sim = MovieWatchingSimulation(movie_file_reader)
    sim.add_user(User("Paul", "wellington"))
    sim.add_user(User('jessica', 'piano'))
    return sim
 def test_add_user(self):
     user1 = User("Martin", "12345")
     user2 = User("Vivian", "12345")
     user_list = [user1, user2]
     the_movie = Movie("Moana", 2016)
     watchSimulation1 = MovieWatchingSimulation(user_list, the_movie)
     user3 = User("Mark", "54321")
     watchSimulation1.add_user(user3)
     assert watchSimulation1.users == [user1, user2, user3]
Exemplo n.º 12
0
def test_compare():
    user1 = User("Brad Pitt", 4)
    user2 = User("brad PiTt", 5)
    assert user1 == user2
    user2 = 4
    assert user1 != user2
    user1 = User("", "goat")
    user2 = User(45, "HFTbhy")
    assert user1 == user2
 def test_done_watch(self):
     user1 = User("Martin", "12345")
     user2 = User("Vivian", "12345")
     the_movie = Movie("Moana", 2016)
     user1.add_watchList(the_movie)
     user_list = [user1, user2]
     watchSimulation1 = MovieWatchingSimulation(user_list, the_movie)
     watchSimulation1.done_watching()
     assert watchSimulation1.finish_watch == True
Exemplo n.º 14
0
    def test_remove_from_watchlist(self):
        # initialise the different movies
        movies = [
            Movie("Moana", 2016),
            Movie("Guardians of the Galaxy", 2014),
            Movie("Ice Age", 2002),
            Movie("Transformers", 2007)
        ]
        movies[0].runtime_minutes = 107
        movies[1].runtime_minutes = 121
        movies[2].runtime_minutes = 103
        movies[3].runtime_minutes = 144
        movie = Movie("Us", 2019)
        movie.runtime_minutes = 121
        random_movie1 = Movie("Black Panther", 2018)
        random_movie1.runtime_minutes = 135
        random_movie2 = Movie("Night School", 2018)
        random_movie2.runtime_minutes = 112

        # user 1
        user1 = User("Martin", "pw12345")
        for mov in movies:
            user1.watch_movie(mov)
        user1.watchlist.add_movie(movie)
        user1.watchlist.add_movie(random_movie1)

        # user 2
        user2 = User("Alfie", "pw23456")
        user2.watch_movie(movies[0])
        user2.watchlist.add_movie(random_movie1)
        user2.watchlist.add_movie(random_movie2)

        # user 3 will be added in after the movie is watchingsimulation
        user3 = User("Yara", "pw34567")
        user3.watch_movie(movies[0])
        user3.watch_movie(movies[2])
        user3.watch_movie(movies[3])
        user3.watchlist.add_movie(movie)

        # user 4
        user4 = User("Danny", "pw45678")
        user4.watch_movie(movies[0])
        user4.watch_movie(movies[2])
        user4.watch_movie(movie)
        user4.watchlist.add_movie(random_movie2)

        user_list = [user1, user2, user4]
        simulation = MovieWatchingSimulation(movie, user_list)
        assert repr(simulation.movie) == "<Movie Us, 2019>"
        assert repr(simulation.user_list
                    ) == "[<User martin>, <User alfie>, <User danny>]"

        assert user1.watchlist.size == 1
        assert user2.watchlist.size == 2
        assert user3.watchlist.size == 1
        assert user4.watchlist.size == 1
Exemplo n.º 15
0
 def test_init(self):
     movie = Movie("Moana", 2016)
     user2 = User('Ian', 'pw67890')
     user3 = User('Daniel', 'pw87465')
     user4 = User('Martin', 'pw12345')
     user_list = [user2, user3, user4]
     watch = MovieWatchingSimulation(user_list, movie)
     assert repr(
         watch
     ) == "Movie watching : <Movie Moana, 2016>\nUser(s) watching : [<User ian>, <User daniel>, <User martin>]\nReview : None"
 def test_watch_done(self):
     user1 = User("Martin", "12345")
     user2 = User("Vivian", "12345")
     the_movie = Movie("Moana", 2016)
     user1.add_watchList(the_movie)
     assert user1.watchList == [the_movie]
     user_list = [user1, user2]
     watchSimulation1 = MovieWatchingSimulation(user_list, the_movie)
     watchSimulation1.done_watching()
     assert len(user1.watchList) == 0
Exemplo n.º 17
0
 def test_change_host(self, watching_session):
     user1 = User("Aidan", "Wasx")
     user2 = User("Iona", "Mort")
     watching_session.change_host(user2, user2)
     assert watching_session.host == user1
     watching_session.add_friend(user1,user2)
     assert watching_session.size() == 2
     watching_session.change_host(user1, user2)
     assert watching_session.host == user2
     assert watching_session.size() == 1
     assert watching_session.users_in_session() == [user2]
Exemplo n.º 18
0
 def test_end_session(self, watching_session):
     user1 = User("Aidan", "Wasx")
     user2 = User("Iona", "Mort")
     watching_session.add_friend(user1, user2)
     watching_session.end_session(user2)
     assert watching_session.size() == 2
     assert watching_session.watching == Movie("Cars", 2008)
     watching_session.end_session(user1)
     assert watching_session.size() == 1
     assert watching_session.users_in_session() == [user1]
     assert watching_session.watching is None
Exemplo n.º 19
0
 def test_add_review(self):
     movie = Movie('Moana', 2016)
     review_text = "This movie was very enjoyable."
     rating = 8
     user2 = User('Ian', 'pw67890')
     user3 = User('Daniel', 'pw87465')
     user4 = User('Martin', 'pw12345')
     user_list = [user2, user3, user4]
     watch = MovieWatchingSimulation(user_list, movie)
     watch.add_review(review_text, rating)
     assert (watch.review != None) == True
Exemplo n.º 20
0
 def test_kick_user(self, watching_session):
     user1 = User("Aidan", "Wasx")
     user2 = User("Iona", "Mort")
     watching_session.add_friend(user1, user2)
     assert watching_session.size() == 2
     watching_session.kick_user(user2, user2)
     assert watching_session.size() == 2
     watching_session.kick_user(user1, User("Dave", "Brown"))
     assert watching_session.size() == 2
     watching_session.kick_user(user1, user2)
     assert watching_session.size() == 1
Exemplo n.º 21
0
def test_init(user):
    assert user.watched_movies == []
    assert user.time_spent_watching_movies_minutes == 0
    assert user.reviews == []
    assert user.username == "aram485"
    assert user.password == "spiderman"
    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
def test_repr_():
    movie1 = Movie("Moana", 2016)
    movie1.runtime_minutes = 107
    user1 = User('Martin', 'pw12345')
    review_text1 = "This movie was very enjoyable."
    rating1 = 9
    user2 = User('Ashton', 'pw54321')
    review_text2 = "This movie was ok."
    rating2 = 6
    cflix = MovieWatchingSimulation(movie1)
    cflix.record_user_and_review(user1, review_text1, rating1)
    cflix.record_user_and_review(user2, review_text2, rating2)
    print(repr(cflix))
Exemplo n.º 23
0
def test_record_user_and_review_multiple():
    movie1 = Movie("Moana", 2016)
    movie1.runtime_minutes = 107
    user1 = User('Martin', 'pw12345')
    review_text1 = "This movie was very enjoyable."
    rating1 = 9
    user2 = User('Ashton', 'pw54321')
    review_text2 = "This movie was ok."
    rating2 = 6
    cflix = MovieWatchingSimulation(movie1)
    cflix.create_and_add_review_movie_and_user_to_group_and_individual_list(user1, review_text1, rating1)
    cflix.create_and_add_review_movie_and_user_to_group_and_individual_list(user2, review_text2, rating2)
    assert len(cflix.reviews) == 2
    assert len(cflix.users) == 2
 def test_review(self):
     user1 = User("Martin", "12345")
     user2 = User("Vivian", "12345")
     the_movie = Movie("Moana", 2016)
     user1.add_watchList(the_movie)
     user_list = [user1, user2]
     watchSimulation1 = MovieWatchingSimulation(user_list, the_movie)
     watchSimulation1.done_watching()
     movie = Movie("Moana", 2016)
     review_text = "This movie was very enjoyable."
     rating = 8
     review1 = Review(movie, review_text, rating)
     assert len(watchSimulation1.reviews) == 0
     watchSimulation1.add_review(user1, review1)
     assert len(watchSimulation1.reviews) == 1
Exemplo n.º 25
0
def test_hash():
    user1 = User("Brad Pitt", "goat")
    user2 = User("Brad Pitt", "goat")
    assert hash(user1) == hash(user2)
    user2 = User("Taika Waititj", "goat")
    assert hash(user1) != hash(user2)
    dict1 = dict()
    dict1[user1] = user2
    assert dict1[user1] == user2
    assert repr(dict1[user1]) == "<User taika waititj>"
    user1 = User("", "friends")
    user2 = User(9, 6)
    dict1[user1] = user2
    assert dict1[user1] == user2
    assert repr(dict1[user1]) == "<User None>"
Exemplo n.º 26
0
 def test_add_friend(self, watching_session):
     watching_session.add_friend(User("Aidan", "Wasx"), User("Iona", "Mort"))
     assert watching_session.size() == 2
     assert watching_session.users_in_session() == [User("Aidan", "Wasx"), User("Iona", "Mort")]
     watching_session.add_friend(User("Sam", "Waz"), User("Sam", "Waz"))
     assert watching_session.size() == 2
     watching_session.add_friend(User("Aidan", "Wasx"), User("Aidan", "Wasx"))
     assert  watching_session.size() == 2
Exemplo n.º 27
0
def test_hash(user):
    # Check hash doesn't change for the same instance
    assert hash(user) == hash(user)

    # Check hash is the same with another instance with the same properties
    username = user.user_name
    password = user.password
    other = User(username, password)
    assert hash(user) == hash(other)

    # Check password doesn't affect hash
    username = user.user_name
    password = "******"
    other = User(username, password)
    assert hash(user) == hash(other)
Exemplo n.º 28
0
def test_constructor_empty_string_username():
    username = ""
    password = "******"
    user = User(username, password)

    assert user.user_name is None
    assert user.password == password
Exemplo n.º 29
0
def stats():
    movie = Movie('Up', 2009)
    movie.add_actor(Actor("Will Smith"))
    movie.add_actor(Actor("Daniel Radcliff"))
    movie.add_genre(Genre("Comedy"))
    movie.add_genre(Genre("Drama"))
    director = Director("Peter Jackson")
    movie.director = director

    movie1 = Movie('Down', 2013)
    movie1.add_actor(Actor("Tom Cruise"))
    movie1.add_actor(Actor("Selena Gomez"))
    movie1.add_genre(Genre("Comedy"))
    movie1.add_genre(Genre("Romance"))
    director = Director("Peter Jackson")
    movie1.director = director

    movie2 = Movie('Boom', 1999)
    movie2.add_actor(Actor("Will Smith"))
    movie2.add_actor(Actor("Tom Cruise"))
    movie2.add_genre(Genre("Comedy"))
    movie2.add_genre(Genre("Action"))
    director = Director("Taika Waititi")
    movie2.director = director

    user = User("aram", "one1")
    user.watch_movie(movie)
    user.watch_movie(movie1)
    user.watch_movie(movie2)

    stats = Stats(user)
    return stats
Exemplo n.º 30
0
def test_constructor_invalid_username():
    username = 42
    password = "******"
    user = User(username, password)

    assert user.user_name is None
    assert user.password == password