def test(): directors = get_movies_by_director() assert 'Sergio Leone' in directors assert 'Andrew Stanton' in directors # has 3 movies, but not yet filtered assert len(directors['Sergio Leone']) == 4 assert len(directors['Peter Jackson']) == 12 movies_sergio = directors['Sergio Leone'] movies_nolan = directors['Christopher Nolan'] assert _calc_mean(movies_sergio) == 8.5 assert _calc_mean(movies_nolan) == 8.4 directors = get_average_scores(directors) assert 'Andrew Stanton' not in directors # director 3 movies now filtered out expected_directors = [ 'Sergio Leone', 'Christopher Nolan', 'Quentin Tarantino', 'Hayao Miyazaki', 'Frank Darabont', 'Stanley Kubrick' ] expected_avg_scores = [8.5, 8.4, 8.2, 8.2, 8.0, 8.0] expected_num_movies = [4, 8, 8, 4, 4, 7] report = sorted(directors.items(), key=lambda x: float(x[0][1]), reverse=True) for counter, (i, j, k) in enumerate( zip(expected_directors, expected_avg_scores, expected_num_movies)): assert report[counter][0] == (i, j) assert len(report[counter][1]) == k assert _calc_mean(report[counter][1]) == j return "tests pass"
def test(): directors = get_movies_by_director() assert 'Sergio Leone' in directors assert 'Andrew Stanton' in directors # has 3 movies, but not yet filtered assert len(directors['Sergio Leone']) == 4 assert len(directors['Peter Jackson']) == 12 movies_sergio = directors['Sergio Leone'] movies_nolan = directors['Christopher Nolan'] assert _calc_mean(movies_sergio) == 8.5 assert _calc_mean(movies_nolan) == 8.4 directors = get_average_scores(directors) assert 'Andrew Stanton' not in directors # director 3 movies now filtered out expected_directors = ['Sergio Leone', 'Christopher Nolan', 'Quentin Tarantino', 'Hayao Miyazaki', 'Frank Darabont', 'Stanley Kubrick'] expected_avg_scores = [8.5, 8.4, 8.2, 8.2, 8.0, 8.0] expected_num_movies = [4, 8, 8, 4, 4, 7] report = sorted(directors.items(), key=lambda x: float(x[0][1]), reverse=True) for counter, (i, j, k) in enumerate( zip(expected_directors, expected_avg_scores, expected_num_movies)): assert report[counter][0] == (i, j) assert len(report[counter][1]) == k assert _calc_mean(report[counter][1]) == j return "tests pass"
def test_get_average_scores(): avg_scores = get_average_scores(director_movies)[:10] expected = [('Sergio Leone', 8.5), ('Christopher Nolan', 8.4), ('Quentin Tarantino', 8.2), ('Hayao Miyazaki', 8.2), ('Frank Darabont', 8.0), ('Stanley Kubrick', 8.0), ('James Cameron', 7.9), ('Joss Whedon', 7.9), ('Alejandro G. Iñárritu', 7.8), ('Alfonso Cuarón', 7.8)] assert avg_scores == expected
def test_get_average_scores(): avg_scores = get_average_scores(director_movies)[:10] expected = [ ("Sergio Leone", 8.5), ("Christopher Nolan", 8.4), ("Quentin Tarantino", 8.2), ("Hayao Miyazaki", 8.2), ("Frank Darabont", 8.0), ("Stanley Kubrick", 8.0), ("James Cameron", 7.9), ("Joss Whedon", 7.9), ("Alejandro G. Iñárritu", 7.8), ("Alfonso Cuarón", 7.8), ] assert avg_scores == expected
def test_get_average_scores(): # top 2 scores = get_average_scores(director_movies) assert scores[0] == ('Sergio Leone', 8.5) assert scores[1] == ('Christopher Nolan', 8.4) # order / score might slightly change depending the way the mean # is calculated so only test director names in top scores directors = {score[0] for score in scores[2:13]} assert 'Quentin Tarantino' in directors assert 'Hayao Miyazaki' in directors assert 'Frank Darabont' in directors assert 'Stanley Kubrick' in directors assert 'James Cameron' in directors assert 'Joss Whedon' in directors assert 'Alejandro G. Iñárritu' in directors
def test_get_average_scores(): # top 2 scores = get_average_scores(director_movies) assert scores[0] == ("Sergio Leone", 8.5) assert scores[1] == ("Christopher Nolan", 8.4) # order / score might slightly change depending the way the mean # is calculated so only test director names in top scores directors = {score[0] for score in scores[2:13]} assert "Quentin Tarantino" in directors assert "Hayao Miyazaki" in directors assert "Frank Darabont" in directors assert "Stanley Kubrick" in directors assert "James Cameron" in directors assert "Joss Whedon" in directors assert "Alejandro G. Iñárritu" in directors