コード例 #1
0
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
コード例 #2
0
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) == []
コード例 #3
0
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]
コード例 #4
0
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
コード例 #5
0
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]
コード例 #6
0
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
コード例 #7
0
ファイル: test_watchlist.py プロジェクト: BlackbirdAB/CS235A2
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
コード例 #8
0
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) == []
コード例 #9
0
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) == []
コード例 #10
0
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) == []
コード例 #11
0
ファイル: test_orm.py プロジェクト: BlackbirdAB/CS235A2
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
コード例 #12
0
 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)
コード例 #13
0
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) == []
コード例 #14
0
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) == []
コード例 #15
0
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
コード例 #16
0
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]
コード例 #17
0
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]
コード例 #18
0
    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
コード例 #19
0
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) == []
コード例 #20
0
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) == []
コード例 #21
0
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
コード例 #22
0
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)
    ]
コード例 #23
0
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
コード例 #24
0
    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
コード例 #25
0
ファイル: test_watchlist.py プロジェクト: BlackbirdAB/CS235A2
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)
コード例 #26
0
ファイル: test_watchlist.py プロジェクト: BlackbirdAB/CS235A2
def test_select_movie_to_watch_failure(watchlist):
    watchlist.add_movie(Movie("Moana", 2016))
    assert watchlist.select_movie_to_watch(1) is None
コード例 #27
0
ファイル: test_watchlist.py プロジェクト: BlackbirdAB/CS235A2
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)
コード例 #28
0
ファイル: test_watchlist.py プロジェクト: BlackbirdAB/CS235A2
def test_add_duplicate_movie(watchlist):
    watchlist.add_movie(Movie("Moana", 2016))
    watchlist.add_movie(Movie("Moana", 2016))
    assert repr(watchlist) == "[<Movie Moana, 2016>]"
コード例 #29
0
ファイル: test_watchlist.py プロジェクト: BlackbirdAB/CS235A2
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>]"
コード例 #30
0
ファイル: test_watchlist.py プロジェクト: BlackbirdAB/CS235A2
def test_remove_movie(watchlist):
    watchlist.add_movie(Movie("Moana", 2016))
    watchlist.remove_movie(Movie("Moana", 2016))
    assert repr(watchlist) == "[]"