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')
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>"
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
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)
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)
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
def test_hash(): actor1 = Actor("Actor A") assert hash(actor1) == hash("Actor A") actor_none = Actor("") assert hash(actor_none) == hash(None)
def test_type_mismatch(): actor = Actor("Actor") other = "Actor" with pytest.raises(TypeError): return actor < other
def test_lt(): actor_1 = Actor("Actor A") actor_2 = Actor("Actor B") assert actor_1 < actor_2