Skip to content
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

Daria Iakymenko (C17, Whales class) #100

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
.vscode/
.DS_Store
.vscode
.idea

# GitHub's boilerplate Python gitignore
# https://github.com/github/gitignore/blob/master/Python.gitignore
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ pluggy==0.13.1
pprintpp==0.4.0
py==1.10.0
pyparsing==2.4.7
pytest==6.2.1
pytest==7.1.0
toml==0.10.2
14 changes: 14 additions & 0 deletions tests/test_constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,17 @@
],
}

USER_ADDITIONAL_DATA_2 = {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice custom test constant!

"watched": [
ACTION_1,
INTRIGUE_1,
INTRIGUE_2,
FANTASY_1,
FANTASY_2,
FANTASY_3
],
}

#-----WAVE 3--------
USER_DATA_3 = copy.deepcopy(USER_DATA_2)
USER_DATA_3["friends"] = [
Expand Down Expand Up @@ -173,6 +184,9 @@
def clean_wave_2_data():
return copy.deepcopy(USER_DATA_2)

def clean_wave_2_additional_data():
return copy.deepcopy(USER_ADDITIONAL_DATA_2)

def clean_wave_3_data():
return copy.deepcopy(USER_DATA_3)

Expand Down
58 changes: 32 additions & 26 deletions tests/test_wave_01.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
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
Expand All @@ -15,11 +15,11 @@ def test_create_successful_movie():
new_movie = create_movie(movie_title, genre, rating)

# Assert
assert new_movie["title"] is MOVIE_TITLE_1
assert new_movie["genre"] is GENRE_1
assert new_movie["title"] == MOVIE_TITLE_1
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
Expand All @@ -30,9 +30,9 @@ def test_create_no_title_movie():
new_movie = create_movie(movie_title, genre, rating)

# Assert
assert new_movie is None
assert new_movie == None

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This check works and passes, but the preferred comparison operator is is for checking whether a variable is None. This article gives a good explanation.


@pytest.mark.skip()
#@pytest.mark.skip()
def test_create_no_genre_movie():
# Arrange
movie_title = "Title A"
Expand All @@ -43,9 +43,9 @@ def test_create_no_genre_movie():
new_movie = create_movie(movie_title, genre, rating)

# Assert
assert new_movie is None
assert new_movie == None

@pytest.mark.skip()
#@pytest.mark.skip()
def test_create_no_rating_movie():
# Arrange
movie_title = "Title A"
Expand All @@ -56,9 +56,9 @@ def test_create_no_rating_movie():
new_movie = create_movie(movie_title, genre, rating)

# Assert
assert new_movie is None
assert new_movie == None

@pytest.mark.skip()
#@pytest.mark.skip()
def test_adds_movie_to_user_watched():
# Arrange
movie = {
Expand All @@ -74,12 +74,12 @@ def test_adds_movie_to_user_watched():
updated_data = add_to_watched(user_data, movie)

# Assert
assert len(updated_data["watched"]) is 1
assert updated_data["watched"][0]["title"] is MOVIE_TITLE_1
assert updated_data["watched"][0]["genre"] is GENRE_1
assert updated_data["watched"][0]["rating"] is RATING_1
assert len(updated_data["watched"]) == 1
assert updated_data["watched"][0]["title"] == MOVIE_TITLE_1
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_user_watchlist():
# Arrange
movie = {
Expand All @@ -95,12 +95,12 @@ def test_adds_movie_to_user_watchlist():
updated_data = add_to_watchlist(user_data, movie)

# Assert
assert len(updated_data["watchlist"]) is 1
assert updated_data["watchlist"][0]["title"] is MOVIE_TITLE_1
assert updated_data["watchlist"][0]["genre"] is GENRE_1
assert updated_data["watchlist"][0]["rating"] is RATING_1
assert len(updated_data["watchlist"]) == 1
assert updated_data["watchlist"][0]["title"] == MOVIE_TITLE_1
assert updated_data["watchlist"][0]["genre"] == GENRE_1
assert updated_data["watchlist"][0]["rating"] == RATING_1

@pytest.mark.skip()
#@pytest.mark.skip()
def test_moves_movie_from_watchlist_to_empty_watched():
# Arrange
janes_data = {
Expand All @@ -116,14 +116,17 @@ def test_moves_movie_from_watchlist_to_empty_watched():
updated_data = watch_movie(janes_data, MOVIE_TITLE_1)

# Assert
assert len(updated_data["watchlist"]) is 0
assert len(updated_data["watched"]) is 1
assert len(updated_data["watchlist"]) == 0
assert len(updated_data["watched"]) == 1
assert updated_data["watched"][0]["title"] == MOVIE_TITLE_1
assert updated_data["watched"][0]["genre"] == GENRE_1
assert updated_data["watched"][0]["rating"] == RATING_1

# *******************************************************************************************
# ****** Add assertions here to test that the correct movie was added to "watched" **********
# *******************************************************************************************

@pytest.mark.skip()
#@pytest.mark.skip()
def test_moves_movie_from_watchlist_to_watched():
# Arrange
movie_to_watch = HORROR_1
Expand All @@ -139,14 +142,17 @@ def test_moves_movie_from_watchlist_to_watched():
updated_data = watch_movie(janes_data, movie_to_watch["title"])

# Assert
assert len(updated_data["watchlist"]) is 1
assert len(updated_data["watched"]) is 2
assert len(updated_data["watchlist"]) == 1
assert len(updated_data["watched"]) == 2
assert updated_data["watched"][1]["title"] == MOVIE_TITLE_1
assert updated_data["watched"][1]["genre"] == GENRE_1
assert updated_data["watched"][1]["rating"] == RATING_1
Comment on lines +147 to +149

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻


# *******************************************************************************************
# ****** Add assertions here to test that the correct movie was added to "watched" **********
# *******************************************************************************************

@pytest.mark.skip()
#@pytest.mark.skip()
def test_does_nothing_if_movie_not_in_watchlist():
# Arrange
movie_to_watch = HORROR_1
Expand Down
20 changes: 16 additions & 4 deletions tests/test_wave_02.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from viewing_party.party import *
from tests.test_constants import *

@pytest.mark.skip()
#@pytest.mark.skip()
def test_calculates_watched_average_rating():
# Arrange
janes_data = clean_wave_2_data()
Expand All @@ -14,7 +14,7 @@ def test_calculates_watched_average_rating():
assert average == pytest.approx(3.58333)
assert janes_data == clean_wave_2_data()

@pytest.mark.skip()
#@pytest.mark.skip()
def test_empty_watched_average_rating_is_zero():
# Arrange
janes_data = {
Expand All @@ -27,7 +27,7 @@ def test_empty_watched_average_rating_is_zero():
# Assert
assert average == pytest.approx(0.0)

@pytest.mark.skip()
#@pytest.mark.skip()
def test_most_watched_genre():
# Arrange
janes_data = clean_wave_2_data()
Expand All @@ -39,7 +39,19 @@ def test_most_watched_genre():
assert popular_genre == "Fantasy"
assert janes_data == clean_wave_2_data()

@pytest.mark.skip()
def test_most_watched_genre_additional(): #added an additional test to make sure the function picks up

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes! Great additional test!

#the most watched genre and not just the first one from the list
# Arrange
janes_data = clean_wave_2_additional_data()

# Act
popular_genre = get_most_watched_genre(janes_data)

# Assert
assert popular_genre == "Fantasy"
assert janes_data == clean_wave_2_additional_data()

#@pytest.mark.skip()
def test_genre_is_None_if_empty_watched():
# Arrange
janes_data = {
Expand Down
13 changes: 8 additions & 5 deletions tests/test_wave_03.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -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()
Expand All @@ -28,7 +28,7 @@ def test_my_not_unique_movies():
# Arrange
assert len(amandas_unique_movies) == 0

@pytest.mark.skip()
#@pytest.mark.skip()
def test_friends_unique_movies():
# Arrange
amandas_data = clean_wave_3_data()
Expand All @@ -43,7 +43,7 @@ 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()
Expand All @@ -54,12 +54,15 @@ def test_friends_unique_movies_not_duplicated():

# Arrange
assert len(friends_unique_movies) == 3
assert FANTASY_4 in friends_unique_movies
assert HORROR_1 in friends_unique_movies
assert INTRIGUE_3 in friends_unique_movies
Comment on lines +57 to +59

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻


# *************************************************************************************************
# ****** 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 = {
Expand Down
4 changes: 2 additions & 2 deletions tests/test_wave_04.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from viewing_party.party import *
from tests.test_constants import *

@pytest.mark.skip()
#@pytest.mark.skip()
def test_get_available_friend_rec():
# Arrange
amandas_data = clean_wave_4_data()
Expand All @@ -16,7 +16,7 @@ def test_get_available_friend_rec():
assert FANTASY_4b in recommendations
assert amandas_data == clean_wave_4_data()

@pytest.mark.skip()
#@pytest.mark.skip()
def test_no_available_friend_recs():
# Arrange
amandas_data = {
Expand Down
15 changes: 8 additions & 7 deletions tests/test_wave_05.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -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 = {
Expand All @@ -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 = {
Expand All @@ -52,12 +52,13 @@ def test_new_genre_rec_from_empty_friends():
}
]
}

recommendations = get_new_rec_by_genre(sonyas_data)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏻

assert len(recommendations) == 0
# *********************************************************************
# ****** Complete the Act and Assert Portions of theis tests **********
# *********************************************************************

@pytest.mark.skip()
#@pytest.mark.skip()
def test_unique_rec_from_favorites():
# Arrange
sonyas_data = clean_wave_5_data()
Expand All @@ -71,7 +72,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 = {
Expand All @@ -92,7 +93,7 @@ def test_unique_from_empty_favorites():
# Assert
assert len(recommendations) == 0

@pytest.mark.skip()
#@pytest.mark.skip()
def test_new_rec_from_empty_friends():
# Arrange
sonyas_data = {
Expand Down
Loading