Exemple #1
0
def test_get_movie_by_actor(memory_repo):
    movie = Movie('Test Movie', 2020)
    movie.add_actor(Actor('Actor1'))
    movie.add_actor(Actor('Actor2'))
    memory_repo.add_movie(movie)
    assert movie in memory_repo.get_movies_by_actor('Actor1')
    assert movie in memory_repo.get_movies_by_actor('Actor2')
Exemple #2
0
def test_init():
    actor = Actor("Angelina Jolie")
    assert repr(actor) == "<Actor Angelina Jolie>"
    actor = Actor("")
    assert actor.actor_full_name is None
    assert repr(actor) == "<Actor None>"
    actor = Actor(42)
    assert actor.actor_full_name is None
    assert repr(actor) == "<Actor None>"
Exemple #3
0
def memory_repo():
    repo = memory_repository.MemoryRepository()
    movie_1 = Movie('Movie1', 2000)
    movie_2 = Movie('Movie2', 2001)
    movie_3 = Movie('Movie3', 2002)
    movie_4 = Movie('Movie4', 2003)
    movie_5 = Movie('Movie5', 2004)
    actor1 = Actor('Actor1')
    actor2 = Actor('Actor2')
    actor3 = Actor('Actor3')
    actor4 = Actor('Actor4')
    actor5 = Actor('Actor5')
    director1 = Director('Director1')
    director2 = Director('Director2')
    movie_1.add_actor(actor1)
    movie_1.add_actor(actor2)
    movie_1.add_actor(actor4)
    movie_1.add_actor(actor5)
    movie_2.add_actor(actor2)
    movie_2.add_actor(actor4)
    movie_2.add_actor(actor5)
    movie_3.add_actor(actor3)
    movie_3.add_actor(actor5)
    movie_4.add_actor(actor3)
    movie_4.add_actor(actor4)
    movie_4.add_actor(actor5)
    movie_5.add_actor(actor3)
    movie_5.add_actor(actor4)
    movie_5.add_actor(actor5)
    movie_1.director = director1
    movie_2.director = director1
    movie_3.director = director1
    movie_4.director = director2
    movie_5.director = director2
    genre1 = Genre('Genre1')
    genre2 = Genre('Genre2')
    movie_1.add_genre(genre1)
    movie_2.add_genre(genre2)
    movie_3.add_genre(genre1)
    movie_4.add_genre(genre2)
    movie_5.add_genre(genre1)
    repo.add_movie(movie_1)
    repo.add_movie(movie_2)
    repo.add_movie(movie_3)
    repo.add_movie(movie_4)
    repo.add_movie(movie_5)

    user = User(username='******', password='******')
    repo.add_user(user)
    return repo
Exemple #4
0
def test_add_colleague():
    actor = Actor("actor")
    valid_colleague = Actor("colleague")
    invalid_colleague = "colleague"
    actor.add_actor_colleague(valid_colleague)
    assert actor.check_if_this_actor_worked_with(valid_colleague)
    with pytest.raises(TypeError):
        actor.add_actor_colleague(invalid_colleague)
Exemple #5
0
    def read_csv_file(self):
        with open(self.__file_name, mode='r', encoding='utf-8-sig') as csvfile:
            movie_file_reader = csv.DictReader(csvfile)

            for row in movie_file_reader:
                movie = Movie(row["Title"], int(row["Year"]))
                movie.rank = int(row["Rank"])
                movie.description = str(row["Description"])

                director = Director(row["Director"])
                actors = row["Actors"].split(",")
                genres = row["Genre"].split(",")

                if movie not in self.__dataset_of_movies:
                    self.__dataset_of_movies.append(movie)

                if director not in self.__dataset_of_directors:
                    self.__dataset_of_directors.append(director)

                for i in actors:
                    actor = Actor(i)
                    if actor not in self.__dataset_of_actors:
                        self.__dataset_of_actors.append(actor)

                for i in genres:
                    genre = Genre(i)
                    if genre not in self.__dataset_of_genres:
                        self.__dataset_of_genres.append(genre)
    def read_csv_file(self):
        with open(self._data_path, mode='r', encoding='utf-8-sig') as f:
            records = csv.DictReader(f)
            for record in records:
                movie = Movie(record.get('Title'), int(record.get('Year', 0)))

                for actor in self._read_field(record, 'Actors', ','):
                    actor = Actor(actor)
                    movie.add_actor(actor)
                    self._dataset_of_actors.add(actor)

                for genre in self._read_field(record, 'Genre', ','):
                    genre = Genre(genre)
                    movie.add_genre(genre)
                    self._dataset_of_genres.add(genre)

                for director in self._read_field(record, 'Director', ','):
                    director = Director(director)
                    movie.set_director(director)
                    self._dataset_of_directors.add(director)

                movie.description = record.get('Description')
                movie.runtime_minutes = int(record.get('Runtime (Minutes)'))

                self._dataset_of_movies.add(movie)
Exemple #7
0
def test_equal():
    actor_none_1 = Actor("")
    actor_none_2 = Actor("")
    assert actor_none_1 == actor_none_2
    actor_1 = Actor("Angelina Jolie")
    actor_2 = Actor("Angelina Jolie")
    assert actor_1 == actor_2
    actor_1 = Actor("Angelina Jolie1")
    actor_2 = Actor("Angelina Jolie2")
    assert actor_1 != actor_2
    assert actor_none_1 != actor_1
    actor_1 = Actor("Actor")
    actor_2 = "Actor"
    assert actor_1 != actor_2
Exemple #8
0
def test_hash():
    actor1 = Actor("Actor A")
    assert hash(actor1) == hash("Actor A")
    actor_none = Actor("")
    assert hash(actor_none) == hash(None)
Exemple #9
0
def test_type_mismatch():
    actor = Actor("Actor")
    other = "Actor"
    with pytest.raises(TypeError):
        return actor < other
Exemple #10
0
def test_lt():
    actor_1 = Actor("Actor A")
    actor_2 = Actor("Actor B")
    assert actor_1 < actor_2