-
Notifications
You must be signed in to change notification settings - Fork 28
C22, sphinx, Priyanka and Maybellene #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
02ab0a6
8913d72
e344113
d0705de
8ac62c5
d2b05ef
a5c6632
3918e2c
07bfa2c
bdc22f6
68fda17
64fe1a1
b0aaae6
d38aa87
fce26b2
e1487d5
4da53bd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,10 +1,11 @@ | ||
| import pytest | ||
|
|
||
| # NOTE: In production code, we developers should change import * to something more specific. Due to some constraints of this project, we will import * in our test files. | ||
| # from viewing_party.main import * | ||
| from viewing_party.party import * | ||
| from tests.test_constants import * | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_create_successful_movie(): | ||
| # Arrange | ||
| movie_title = MOVIE_TITLE_1 | ||
|
|
@@ -19,7 +20,7 @@ def test_create_successful_movie(): | |
| assert new_movie["genre"] == GENRE_1 | ||
| assert new_movie["rating"] == pytest.approx(RATING_1) | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_create_no_title_movie(): | ||
| # Arrange | ||
| movie_title = None | ||
|
|
@@ -28,11 +29,11 @@ def test_create_no_title_movie(): | |
|
|
||
| # Act | ||
| new_movie = create_movie(movie_title, genre, rating) | ||
|
|
||
| print(new_movie) | ||
| # Assert | ||
| assert new_movie is None | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_create_no_genre_movie(): | ||
| # Arrange | ||
| movie_title = "Title A" | ||
|
|
@@ -45,7 +46,7 @@ def test_create_no_genre_movie(): | |
| # Assert | ||
| assert new_movie is None | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_create_no_rating_movie(): | ||
| # Arrange | ||
| movie_title = "Title A" | ||
|
|
@@ -58,7 +59,7 @@ def test_create_no_rating_movie(): | |
| # Assert | ||
| assert new_movie is None | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_adds_movie_to_user_watched(): | ||
| # Arrange | ||
| movie = { | ||
|
|
@@ -79,7 +80,7 @@ def test_adds_movie_to_user_watched(): | |
| assert updated_data["watched"][0]["genre"] == GENRE_1 | ||
| assert updated_data["watched"][0]["rating"] == RATING_1 | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_adds_movie_to_non_empty_user_watched(): | ||
| # Arrange | ||
| movie = { | ||
|
|
@@ -99,7 +100,7 @@ def test_adds_movie_to_non_empty_user_watched(): | |
| assert movie in updated_data["watched"] | ||
| assert FANTASY_2 in updated_data["watched"] | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_adds_movie_to_user_watchlist(): | ||
| # Arrange | ||
| movie = { | ||
|
|
@@ -120,7 +121,7 @@ def test_adds_movie_to_user_watchlist(): | |
| assert updated_data["watchlist"][0]["genre"] == GENRE_1 | ||
| assert updated_data["watchlist"][0]["rating"] == RATING_1 | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_adds_movie_to_non_empty_user_watchlist(): | ||
| # Arrange | ||
| movie = { | ||
|
|
@@ -140,7 +141,7 @@ def test_adds_movie_to_non_empty_user_watchlist(): | |
| assert movie in updated_data["watchlist"] | ||
| assert FANTASY_2 in updated_data["watchlist"] | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_moves_movie_from_watchlist_to_empty_watched(): | ||
| # Arrange | ||
| janes_data = { | ||
|
|
@@ -159,12 +160,17 @@ def test_moves_movie_from_watchlist_to_empty_watched(): | |
| assert len(updated_data["watchlist"]) == 0 | ||
| assert len(updated_data["watched"]) == 1 | ||
|
|
||
| raise Exception("Test needs to be completed.") | ||
| # ******************************************************************************************* | ||
| # ****** Add assertions here to test that the correct movie was added to "watched" ********** | ||
| # ******************************************************************************************* | ||
| # ADDED ASSERTIONS | ||
| assert updated_data["watchlist"] == [] | ||
| assert updated_data["watched"] == [{ | ||
| "title": MOVIE_TITLE_1, | ||
| "genre": GENRE_1, | ||
| "rating": RATING_1 | ||
| }] | ||
|
Comment on lines
+165
to
+169
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 👍 |
||
|
|
||
|
|
||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_moves_movie_from_watchlist_to_watched(): | ||
| # Arrange | ||
| movie_to_watch = HORROR_1 | ||
|
|
@@ -182,13 +188,14 @@ def test_moves_movie_from_watchlist_to_watched(): | |
| # Assert | ||
| assert len(updated_data["watchlist"]) == 1 | ||
| assert len(updated_data["watched"]) == 2 | ||
|
|
||
| raise Exception("Test needs to be completed.") | ||
| # ******************************************************************************************* | ||
| # ****** Add assertions here to test that the correct movie was added to "watched" ********** | ||
| # ******************************************************************************************* | ||
|
|
||
| @pytest.mark.skip() | ||
| # ADDED ASSERTIONS | ||
| assert updated_data["watchlist"] == [FANTASY_1] | ||
| assert updated_data["watched"] == [FANTASY_2, movie_to_watch] | ||
|
Comment on lines
+193
to
+194
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Instead of putting assert FANTASY_1 in updated_data["watchlist"] How could you write line 194 using the
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. would it be: or There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah more like your first assertion, but I would break em up on two lines instead of using the assert FANTASY_2 in updated_data["watched"]
assert movie_to_watch in updated_data["watched"] |
||
|
|
||
|
|
||
|
|
||
| # @pytest.mark.skip() | ||
| def test_does_nothing_if_movie_not_in_watchlist(): | ||
| # Arrange | ||
| movie_to_watch = HORROR_1 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,7 +2,7 @@ | |
| from viewing_party.party import * | ||
| from tests.test_constants import * | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_my_unique_movies(): | ||
| # Arrange | ||
| amandas_data = clean_wave_3_data() | ||
|
|
@@ -16,7 +16,7 @@ def test_my_unique_movies(): | |
| assert INTRIGUE_2 in amandas_unique_movies | ||
| assert amandas_data == clean_wave_3_data() | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_my_not_unique_movies(): | ||
| # Arrange | ||
| amandas_data = clean_wave_3_data() | ||
|
|
@@ -28,7 +28,7 @@ def test_my_not_unique_movies(): | |
| # Assert | ||
| assert len(amandas_unique_movies) == 0 | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_friends_unique_movies(): | ||
| # Arrange | ||
| amandas_data = clean_wave_3_data() | ||
|
|
@@ -43,24 +43,51 @@ def test_friends_unique_movies(): | |
| assert FANTASY_4 in friends_unique_movies | ||
| assert amandas_data == clean_wave_3_data() | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_friends_unique_movies_not_duplicated(): | ||
| # Arrange | ||
| amandas_data = clean_wave_3_data() | ||
| amandas_data["friends"][0]["watched"].append(INTRIGUE_3) | ||
|
|
||
| expected_movies = [{ | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| "title": "The Lord of the Functions: The Fellowship of the Function", | ||
| "genre": "Fantasy", | ||
| "rating": 4.8 | ||
| }, | ||
| { | ||
| "title": "The Lord of the Functions: The Return of the Value", | ||
| "genre": "Fantasy", | ||
| "rating": 4.0 | ||
| }, | ||
| { | ||
| "title": "The Programmer: An Unexpected Stack Trace", | ||
| "genre": "Fantasy", | ||
| "rating": 4.0 | ||
| }, | ||
| { | ||
| "title": "It Came from the Stack Trace", | ||
| "genre": "Horror", | ||
| "rating": 3.5 | ||
| }, | ||
| { | ||
| "title": "Recursion", | ||
| "genre": "Intrigue", | ||
| "rating": 2.0 | ||
| }] | ||
| # Act | ||
| friends_unique_movies = get_friends_unique_watched(amandas_data) | ||
|
|
||
| # Assert | ||
| assert len(friends_unique_movies) == 3 | ||
| assert INTRIGUE_3 in friends_unique_movies | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You check that |
||
| # #check for duplicates | ||
| unique_titles = set() | ||
| for movie in friends_unique_movies: | ||
| unique_titles.add(movie["title"]) | ||
| assert len(unique_titles) == len(friends_unique_movies) | ||
|
Comment on lines
+84
to
+87
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is the scenario that you're testing for in lines 84-87? Trying to understand if the code on lines 84-87 are actually testing what we want to test. The assertion on line 87 isn't testing the logic in the function you wrote To make this test more robust, we could check that all the movies that are supposed to be in |
||
|
|
||
| raise Exception("Test needs to be completed.") | ||
| # ************************************************************************************************* | ||
| # ****** Add assertions here to test that the correct movies are in friends_unique_movies ********** | ||
| # ************************************************************************************************** | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_friends_not_unique_movies(): | ||
| # Arrange | ||
| amandas_data = { | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,7 +2,7 @@ | |
| from viewing_party.party import * | ||
| from tests.test_constants import * | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_new_genre_rec(): | ||
| # Arrange | ||
| sonyas_data = clean_wave_5_data() | ||
|
|
@@ -17,7 +17,7 @@ def test_new_genre_rec(): | |
| assert FANTASY_4b in recommendations | ||
| assert sonyas_data == clean_wave_5_data() | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_new_genre_rec_from_empty_watched(): | ||
| # Arrange | ||
| sonyas_data = { | ||
|
|
@@ -38,7 +38,7 @@ def test_new_genre_rec_from_empty_watched(): | |
| # Assert | ||
| assert len(recommendations) == 0 | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_new_genre_rec_from_empty_friends(): | ||
| # Arrange | ||
| sonyas_data = { | ||
|
|
@@ -52,13 +52,16 @@ def test_new_genre_rec_from_empty_friends(): | |
| } | ||
| ] | ||
| } | ||
| recommendations = get_new_rec_by_genre(sonyas_data) | ||
| assert recommendations == [] | ||
| assert len(recommendations) == 0 | ||
|
Comment on lines
+56
to
+57
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Notice that these two assertions are testing the same thing. One of them can be removed to make this test more concise. The most specific is If we're writing tests that enforce the specified behavior, I'd tend towards the first (since we're really looking for an empty list). |
||
|
|
||
| raise Exception("Test needs to be completed.") | ||
| # raise Exception("Test needs to be completed.") | ||
| # ********************************************************************* | ||
| # ****** Complete the Act and Assert Portions of these tests ********** | ||
| # ********************************************************************* | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_unique_rec_from_favorites(): | ||
| # Arrange | ||
| sonyas_data = clean_wave_5_data() | ||
|
|
@@ -72,7 +75,7 @@ def test_unique_rec_from_favorites(): | |
| assert INTRIGUE_2b in recommendations | ||
| assert sonyas_data == clean_wave_5_data() | ||
|
|
||
| @pytest.mark.skip() | ||
| # @pytest.mark.skip() | ||
| def test_unique_from_empty_favorites(): | ||
| # Arrange | ||
| sonyas_data = { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove debugging print statements before committing code for review