コード例 #1
0
def repository():
    repo = MemoryRepository()
    user1 = User("Myles Kennedy", "123")
    user2 = User("Mark Tremonti", "456")
    director1 = Director("Taika Waititi")
    director2 = Director("Steven Speilberg")
    actor1 = Actor("Chris Pratt")
    actor2 = Actor("Emma Watson")
    genre1 = Genre("Comedy")
    genre2 = Genre("Animation")
    movie1 = Movie("Moana", 2016)
    movie2 = Movie("Ice Age", 2002)
    movie1.director = director1
    movie2.director = director2
    movie1.add_actor(actor1)
    movie2.add_actor(actor2)
    movie1.add_genre(genre1)
    movie2.add_genre(genre2)
    review1 = Review(movie1, "very nice", 9)
    review2 = Review(movie2, "incredible", 10)
    user1.add_review(review1)
    user2.add_review(review2)
    repo.add_movie(movie1)
    repo.add_movie(movie2)
    repo.add_director(director1)
    repo.add_director(director2)
    repo.add_actor(actor1)
    repo.add_actor(actor2)
    repo.add_genre(genre1)
    repo.add_genre(genre2)
    repo.add_review(review1)
    repo.add_review(review2)
    repo.add_user(user1)
    repo.add_user(user2)
    return repo
コード例 #2
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)
コード例 #3
0
def test_get_movies_by_genre(session_factory):
    repository = SqlAlchemyRepository(session_factory)
    movie1 = Movie("Maquia", 2018)
    movie2 = Movie("Ice Age", 2002)
    genre1 = Genre("Japanese Anime")
    genre2 = Genre("Emotional")
    repository.add_genre(genre1)
    repository.add_genre(genre2)
    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
    movie1.add_genre(genre1)
    movie1.add_genre(genre2)
    movie2.add_genre(genre2)
    repository.add_movie(movie1)
    repository.add_movie(movie2)
    assert repository.get_movies_by_genre("Japanese Anime") == [movie1]
    assert repository.get_movies_by_genre("xyz") == []
    assert repository.get_movies_by_genre("Emotional") == [movie2, movie1]
    assert repository.get_movies_by_genre(1) == []
コード例 #4
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]
コード例 #5
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) == []
コード例 #6
0
def test_movie_add_genre():
    movie1 = Movie("Princess and The Frog", 2009)
    genre1 = Genre("Animation")
    movie1.add_genre(genre1)
    assert movie1.return_genre() == [genre1]