def read_csv_file(self): with open(self.__file_name, mode='r', encoding='utf-8-sig') as csvfile: movie_file_reader = csv.DictReader(csvfile) index = 0 for row in movie_file_reader: movie = Movie(row["Title"], int(row["Year"])) movie.description = row["Description"] movie.runtime_minutes = int(row["Runtime (Minutes)"]) self.__total_runtime_minutes += int(row["Runtime (Minutes)"]) self.__runtime_minutes_number_of_movies += 1 if row["Rating"] != "N/A": movie.rating = float(row['Rating']) self.__total_rating += float(row['Rating']) self.__rating_number_of_movies += 1 if row["Votes"] != "N/A": movie.votes = int(row["Votes"]) self.__total_votes += int(row["Votes"]) self.__votes_number_of_movies += 1 if row["Revenue (Millions)"] != "N/A": movie.revenue_millions = float(row["Revenue (Millions)"]) self.__total_revenue_millions += float( row["Revenue (Millions)"]) self.__revenue_millions_number_of_movies += 1 if row["Metascore"] != "N/A": movie.metascore = int(row["Metascore"]) self.__total_metascore += int(row["Metascore"]) self.__metascore_number_of_movies += 1 self.__dataset_of_movies.append(movie) self.__dataset_of_directors.add(Director(row["Director"])) for actor in row["Actors"].split(","): self.__dataset_of_actors.add(Actor(actor.strip())) for genre in row["Genre"].split(","): self.__dataset_of_genres.add(Genre(genre.strip())) index += 1
def test_metascore_type(movie): movie = Movie("Moana", 2016) with pytest.raises(ValueError): movie.metascore = 93.3
def test_metascore(movie): movie = Movie("Moana", 2016) movie.metascore = 93 assert movie.metascore == 93
def test_metascore_out_of_bounds_upper(movie): movie = Movie("Moana", 2016) with pytest.raises(ValueError): movie.metascore = 101