def test_movie_file_reader_sort_directors(movie_file_reader_prod):
    movie_file_reader_prod.read_csv_file()
    all_directors_sorted = sorted(movie_file_reader_prod.dataset_of_directors)
    assert all_directors_sorted[0:3] == [
        Director("Aamir Khan"),
        Director("Abdellatif Kechiche"),
        Director("Adam Leon")
    ]
Exemple #2
0
def test_director_hash(director, director_invalid):
    directors = [
        Director(42),
        Director("Peter Jackson"),
        Director("Taika Waititi")
    ]
    assert hash(director) == hash(directors[2])
    assert hash(director) != hash(directors[1])
    assert hash(director_invalid) == hash(directors[0])
Exemple #3
0
def test_director_eq(director, director_invalid):
    directors = [
        Director(42),
        Director("Peter Jackson"),
        Director("Taika Waititi")
    ]
    assert director_invalid == directors[0]
    assert director != directors[1]
    assert director == directors[2]
Exemple #4
0
def test_director_lt(director, director_invalid):
    directors = [
        Director(42),
        Director("Peter Jackson"),
        Director("Taika Waititi")
    ]
    assert directors[1] < directors[2]
    assert not director < directors[2]
    assert director_invalid < director
    assert not director_invalid < directors[0]
def test_repository_can_get_movies_by_director(in_memory_repo):
    movie_ranks = in_memory_repo.get_movie_ranks_by_director(
        Director('James Gunn'))
    movies = in_memory_repo.get_movies_by_rank(movie_ranks)
    assert Movie('Guardians of the Galaxy', 2014) in movies
    assert Movie('Slither', 2006) in movies
    assert len(movies) == 2

    movie_ranks = in_memory_repo.get_movie_ranks_by_director(
        Director('John Doe'))
    movies = in_memory_repo.get_movies_by_rank(movie_ranks)
    assert len(movies) == 0
def test_repository_cannot_add_invalid_review(in_memory_repo):
    with pytest.raises(RepositoryException):
        in_memory_repo.add_review(Director('Joe'))

    with pytest.raises(RepositoryException):
        in_memory_repo.add_review(Review('', '', 0))

    user = User("Martin", "pw12345")
    movie = Movie('Sing', 2016)
    review = Review(movie, "This movie was very enjoyable.", 8)
    review1 = Review(review.movie, review.review_text, review.rating)

    assert review is not review1 and review.id is not review1.id

    with pytest.raises(RepositoryException):
        in_memory_repo.add_review(review)

    movie.add_review(review)
    with pytest.raises(RepositoryException):
        in_memory_repo.add_review(review)

    review.user = user
    with pytest.raises(RepositoryException):
        in_memory_repo.add_review(review)

    user.add_review(review)
    with pytest.raises(RepositoryException):
        in_memory_repo.add_review(review)

    user.add_review(review1)
    in_memory_repo.add_review(review1)
    assert in_memory_repo.get_review(review1.id) is review1
def test_movie_file_reader_movies(movie_from_file):
    movie = Movie("Guardians of the Galaxy", 2014)
    director = Director("James Gunn")
    actor = Actor("Chris Pratt")
    genre = Genre("Action")

    assert repr(movie_from_file) == repr(movie)
    assert repr(movie_from_file.director) == repr(director)
    assert actor in movie_from_file.actors
    assert genre in movie_from_file.genres
    assert movie_from_file.runtime_minutes == 121
def test_repository_can_get_most_common_directors(in_memory_repo):
    with pytest.raises(RepositoryException):
        in_memory_repo.get_most_common_directors(0)
    with pytest.raises(RepositoryException):
        in_memory_repo.get_most_common_directors('')

    most_common_directors = in_memory_repo.get_most_common_directors(1)
    assert Director('James Gunn') in most_common_directors

    most_common_directors = in_memory_repo.get_most_common_directors(11)
    assert len(most_common_directors) == 10
def test_repository_cannot_add_invalid_watchlist(in_memory_repo):
    watchlist = WatchList()
    watchlist.add_movie(Movie('Guardians of the Galaxy', 2014))

    with pytest.raises(RepositoryException):
        in_memory_repo.add_watchlist(watchlist)
    with pytest.raises(RepositoryException):
        in_memory_repo.add_watchlist(Director('Joe'))

    user = User('John', 'pw0135')
    user.watchlist.add_movie(Movie('A Movie', 2020))

    with pytest.raises(RepositoryException):
        in_memory_repo.add_watchlist(user.watchlist)

    user.watchlist.remove_movie(Movie('A Movie', 2020))
    in_memory_repo.add_watchlist(user.watchlist)
def test_repository_can_get_director(in_memory_repo):
    director = in_memory_repo.get_director('James Gunn')
    assert director == Director('James Gunn')
def test_repository_cannot_add_invalid_director(in_memory_repo):
    with pytest.raises(RepositoryException):
        in_memory_repo.add_director(0)
    with pytest.raises(RepositoryException):
        in_memory_repo.add_director(Director(''))
def test_repository_can_add_director(in_memory_repo):
    director = Director("Taika Waititi")
    in_memory_repo.add_director(director)

    assert in_memory_repo.get_director(director.director_full_name) is director
def test_repository_cannot_get_actors_with_no_colleagues(in_memory_repo):
    colleagues = [0, Director('Bob'), 'hello']
    actor_with_colleagues = in_memory_repo.get_actors_by_colleagues(colleagues)
    assert len(actor_with_colleagues) == 0
Exemple #14
0
def director_invalid():
    return Director(" ")
def test_repository_cannot_get_movies_with_no_actors(in_memory_repo):
    actors = [0, Director('Bob'), 'hello']
    movie_ranks = in_memory_repo.get_movie_ranks_by_actors(actors)
    movies_with_actors = in_memory_repo.get_movies_by_rank(movie_ranks)
    assert len(movies_with_actors) == 0
Exemple #16
0
def test_director_constructor(director, director_invalid):
    assert repr(director) == "<Director Taika Waititi>"
    assert repr(director_invalid) == "<Director None>"
    assert director_invalid.director_full_name is None
    director3 = Director(42)
    assert director3.director_full_name is None
Exemple #17
0
def director():
    return Director("Taika Waititi")