def constructor_test(): watchlist = WatchList() print(watchlist.size()) watchlist.add_movie(Movie("Up", 2009)) print(watchlist.size()) watchlist.add_movie(Movie("Down", 1999)) print(watchlist.size()) watchlist.add_movie(Movie("XYZ", 2013)) print(watchlist.size()) watchlist.add_movie(Movie("Anabelle", 2020)) print(watchlist.size()) watchlist.add_movie(Movie("Anabelle", 2020)) print(watchlist.size()) i = iter(watchlist) print(next(i)) print(next(i)) print(next(i)) for movie in i: print(movie) watchlist.remove_movie(Movie("Up", 2009)) print(watchlist.size()) watchlist.remove_movie(Movie("Left", 2009)) print(watchlist.size()) print(watchlist.select_movie_to_watch(0)) print(watchlist.select_movie_to_watch(4)) print(watchlist.first_movie_in_watchlist()) watchlist.remove_movie(Movie("Down", 1999)) watchlist.remove_movie(Movie("XYZ", 2013)) watchlist.remove_movie(Movie("Anabelle", 2020)) print(watchlist.first_movie_in_watchlist())
def test(): watchlist = WatchList() assert watchlist.size() == 0 watchlist.add_movie(Movie("Up", 2009)) assert watchlist.size() == 1 watchlist.add_movie(Movie("Down", 1999)) assert watchlist.size() == 2 watchlist.add_movie(Movie("XYZ", 2013)) assert watchlist.size() == 3 watchlist.add_movie(Movie("Anabelle", 2020)) assert watchlist.size() == 4 watchlist.add_movie(Movie("Anabelle", 2020)) assert watchlist.size() == 4 i = iter(watchlist) repr(next(i)) == "<Movie Up, 2009>" repr(next(i)) == "<Movie Down, 1999>" repr(next(i)) == "<Movie XYZ, 2013>" repr(next(i)) == "<Movie Anabelle, 2020>" with pytest.raises(StopIteration): next(i) watchlist.remove_movie(Movie("Up", 2009)) assert watchlist.size() == 3 watchlist.remove_movie(Movie("Left", 2009)) assert watchlist.size() == 3 assert repr(watchlist.select_movie_to_watch(0)) == "<Movie Down, 1999>" assert watchlist.select_movie_to_watch(4) == None assert repr(watchlist.first_movie_in_watchlist()) == "<Movie Down, 1999>" watchlist.remove_movie(Movie("Down", 1999)) watchlist.remove_movie(Movie("XYZ", 2013)) watchlist.remove_movie(Movie("Anabelle", 2020)) assert watchlist.first_movie_in_watchlist() == None
def test_check_size(): movie1 = Movie("Moana", 2016) movie2 = Movie("Mulan", 2020) watchlist1 = WatchList() watchlist1.add_movie(movie1) watchlist1.add_movie(movie2) assert watchlist1.size() == 2
def test_first_movie_in_watchlist(): movie1 = Movie("Moana", 2016) movie2 = Movie("Mulan", 2020) watchlist1 = WatchList() watchlist1.add_movie(movie1) watchlist1.add_movie(movie2) assert watchlist1.first_movie_in_watchlist() == Movie("Moana", 2016)
def test_remove_movie_which_is_not_in_watchlist(): movie1 = Movie("Moana", 2016) movie2 = Movie("Mulan", 2020) watchlist1 = WatchList() watchlist1.add_movie(movie1) watchlist1.remove_movie(movie2) assert watchlist1.size() == 1
def test_select_movie_to_watch_index_out_of_bounds_negative(): movie1 = Movie("Moana", 2016) movie2 = Movie("Mulan", 2020) watchlist1 = WatchList() watchlist1.add_movie(movie1) watchlist1.add_movie(movie2) assert watchlist1.select_movie_to_watch(-1) == None
def test_select_movie_to_watch_index_ok(): movie1 = Movie("Moana", 2016) movie2 = Movie("Mulan", 2020) watchlist1 = WatchList() watchlist1.add_movie(movie1) watchlist1.add_movie(movie2) assert watchlist1.select_movie_to_watch(1) == Movie("Mulan", 2020)
def test_remove_movie(): w = WatchList() w.add_movie(movie) assert w.size() == 1 w.remove_movie(movie2) assert w.size() == 1 w.remove_movie(movie) assert w.size() == 0
def test_select_index(): w = WatchList() w.add_movie(movie) w.add_movie(movie2) assert w.select_movie_to_watch(0) == movie assert w.select_movie_to_watch(1) == movie2 assert w.select_movie_to_watch(2) is None assert w.select_movie_to_watch(-1) is None
def test_init_1(self): watchlist_1 = WatchList() movie1 = Movie("Moana", 2016) movie2 = Movie("Harry Potter", 2010) watchlist_1.add_movie(movie1) watchlist_1.add_movie(movie2) the_movie = watchlist_1.first_movie_in_watchlist() assert (the_movie == movie1) == True
def test_watchlist_remove_movie_not_in_watchlist(self): watchlist = WatchList() watchlist.add_movie(Movie("Moana", 2016)) watchlist.add_movie(Movie("Ice Age", 2002)) watchlist.remove_movie(Movie("Guardians of the Galaxy", 2012)) watchlist_iter = iter(watchlist) print(next(watchlist_iter)) print(next(watchlist_iter))
def test_init_6(self): watchlist_1 = WatchList() movie1 = Movie("Moana", 2016) movie2 = Movie("Harry Potter", 2010) movie3 = Movie("Harry Potter", 2012) watchlist_1.add_movie(movie1) watchlist_1.add_movie(movie2) assert watchlist_1.select_movie_to_watch(3) is None
def test_init_3(self): watchlist_1 = WatchList() movie1 = Movie("Moana", 2016) movie2 = Movie("Harry Potter", 2010) watchlist_1.add_movie(movie1) watchlist_1.add_movie(movie2) watchlist_1.add_movie(movie1) assert watchlist_1.size() == 2
def test_watchlist_add_same_movie(self): watchlist = WatchList() watchlist.add_movie(Movie("Moana", 2016)) watchlist.add_movie(Movie("Ice Age", 2002)) watchlist.add_movie(Movie("Ice Age", 2002)) watchlist_iter = iter(watchlist) print(next(watchlist_iter)) print(next(watchlist_iter))
def test_add_movie(): w = WatchList() w.add_movie(movie) assert w.first_movie_in_watchlist() == movie assert w.size() == 1 w.add_movie(movie2) assert w.first_movie_in_watchlist() == movie assert w.size() == 2
def test_select_movie_to_watch_index_not_int(): movie1 = Movie("Moana", 2016) movie2 = Movie("Mulan", 2020) watchlist1 = WatchList() watchlist1.add_movie(movie1) watchlist1.add_movie(movie2) with pytest.raises(TypeError): assert watchlist1.select_movie_to_watch("a")
def test_remove_movie_not_type_movie(): movie1 = Movie("Moana", 2016) movie2 = Movie("Mulan", 2020) watchlist1 = WatchList() watchlist1.add_movie(movie1) watchlist1.add_movie(movie2) watchlist1 = WatchList() with pytest.raises(TypeError): assert watchlist1.add_movie("Moana")
def test_iterator_reaches_final_element(): watchlist = WatchList() watchlist.add_movie(Movie("a", 2012)) i = iter(watchlist) for a in i: try: assert a == Movie("a", 2012) except StopIteration: pass
def test_init(self): watchlist_1 = WatchList() movie1 = Movie("Moana", 2016) movie2 = Movie("Harry Potter", 2010) watchlist_1.add_movie(movie1) watchlist_1.add_movie(movie2) the_movie = watchlist_1.select_movie_to_watch(1) assert (the_movie == movie2) == True assert watchlist_1.size() == 2
def test_remove_movie_not_in_list(): watchlist = WatchList() assert (f"Size of watchlist: {watchlist.size()}") == f"Size of watchlist: 0" watchlist.add_movie(Movie("Moana", 2016)) watchlist.add_movie(Movie("Ice Age", 2002)) assert str(watchlist.first_movie_in_watchlist()) == '<Movie Moana, 2016>' watchlist.remove_movie(Movie("Rogue One", 2016)) assert (f"Size of watchlist: {watchlist.size()}") == f"Size of watchlist: 2" assert str(watchlist.first_movie_in_watchlist()) == '<Movie Moana, 2016>'
def test_remove_movie(self): watchlist = WatchList() movie1 = Movie("Star Wars", 1999) watchlist.add_movie(movie1) assert watchlist.size() == 1 watchlist.remove_movie(movie1) assert watchlist.size() == 0 # tests it removes a movie if it is there watchlist.remove_movie(movie1) assert watchlist.size() == 0 # tests it does nothing if movie not there
def test_init_2(self): watchlist_1 = WatchList() movie1 = Movie("Moana", 2016) movie2 = Movie("Harry Potter", 2010) watchlist_1.add_movie(movie1) watchlist_1.add_movie(movie2) number = 0 for i in watchlist_1: number += 1 assert number == watchlist_1.size()
def test_help_select_movie_to_watch_nonempty(): movie1 = Movie("Moana", 2016) movie2 = Movie("Mulan", 2020) movie3 = Movie("Frozen", 2014) movie4 = Movie("Despicable Me", 2013) watchlist1 = WatchList() watchlist1.add_movie(movie1) watchlist1.add_movie(movie2) watchlist1.add_movie(movie3) watchlist1.add_movie(movie4) assert watchlist1.help_select_movie_to_watch() in [Movie("Moana", 2016), Movie("Mulan", 2020), Movie("Frozen", 2014), Movie("Despicable Me", 2013)]
def test_import_watchlist(self): rank = Ranking() wl7 = WatchList() wl7.add_movie(Movie("Movie e", 2015)) rank.import_watch_list(wl7) rank_dict = rank.ranking assert rank_dict["<Movie Movie e, 2015>"] == 1
def test_first_movie_in_watchlist(self): movie1 = Movie("Moana", 2016) movie2 = Movie("Ice Age", 2002) movie3 = Movie("Wall-E", 2008) watchlist = WatchList() watchlist.add_movie(movie1) watchlist.add_movie(movie2) watchlist.add_movie(movie3) assert watchlist.first_movie_in_watchlist() == movie1
def test_watch_movie(): w = WatchList() w.add_movie(movie) w.add_movie(movie2) w.add_movie(movie3) user = User("bob", "pwd") w.watch_movie(user, 1) assert list(w) == [movie, movie3] assert user.time_spent_watching_movies_minutes == 233 w.watch_movie(user, 0) assert list(w) == [movie3] assert user.time_spent_watching_movies_minutes == 355
def test_iterator(): movie1 = Movie("Moana", 2016) movie2 = Movie("Mulan", 2020) movie3 = Movie("Frozen", 2014) movie4 = Movie("Despicable Me", 2013) watchlist1 = WatchList() watchlist1.add_movie(movie1) watchlist1.add_movie(movie2) watchlist1.add_movie(movie3) watchlist1.add_movie(movie4) for index, movie in enumerate(watchlist1): assert repr(movie) == repr(watchlist1.select_movie_to_watch(index))
def test_size(): watchlist = WatchList() assert watchlist.size() == 0 movie1 = Movie("Moana", 2016) movie2 = Movie("Booksmart", 2019) movie3 = Movie("School of Rock", 2003) movie4 = Movie("Roma", 2018) watchlist.add_movie(movie1) watchlist.add_movie(movie2) watchlist.add_movie(movie3) watchlist.add_movie(movie4) assert watchlist.size() == 4
def test_select_movie_to_watch(self): watchlist = WatchList() movie1 = Movie("Moana", 2016) movie2 = Movie("Ice Age", 2002) movie3 = Movie("Guardians of the Galaxy", 2012) watchlist.add_movie(movie1) watchlist.add_movie(movie2) watchlist.add_movie(movie3) assert watchlist.select_movie_to_watch(0) == movie1 # ^ note: could've just done "== Movie("Moana", 2016)" since __eq__ is defined by same title and year assert watchlist.select_movie_to_watch(1) == movie2 assert watchlist.select_movie_to_watch(3) == None # tests that it gives None if range out of bounds
def test_remove_movie(self): movie1 = Movie("Moana", 2016) movie2 = Movie("Ice Age", 2002) movie3 = Movie("Wall-E", 2008) watchlist = WatchList() watchlist.add_movie(movie1) watchlist.add_movie(movie2) watchlist.add_movie(movie3) watchlist.remove_movie(movie1) assert watchlist.watchlist == [movie2, movie3] assert watchlist.size() == 2