def __populate_repository(self): """ Populates the repository """ self.add( Movie( "The shape of water", "A movie about a girl trying to find her love. Emotional yet peaceful.", "Romance, Drama")) self.add( Movie("Maze runner 2", "A movie about 3 brothers trying to escape a cursed maze.", "Action, Drama, SF")) self.add( Movie( "Now you see me", "A movie about magic. An organization founded on the premise of magic tries to make the world a better place.", "Crime, Mystery, Thriller")) self.add( Movie( "The scorpion king", "A movie about a man trying to regain his respect among the tribe. A old but classic movie.", "Action, Adventure, Drama, Romance")) self.add( Movie( "Unfriended", "A movie about a group of friends experiencing mysterious events. Will they survive to find the answer?", "horror"))
def test_movie(): movie = Movie("Title", "Description bla bla", "Action") print("###################### Testing Movie class:") custom_assert("getTitle() for valid movie.", movie.getTitle() == "Title") custom_assert("getDescription() for valid movie.", movie.getDescription() == "Description bla bla") custom_assert("getType() for valid movie.", movie.getType() == "Action")
def test_update(self): self.controller.update("T2", Movie("T4", "D4", "G4")) self.assertEqual(len(self.controller.get_list()), 3) self.assertRaises(ValueError, self.controller.find, "T2") self.assertEqual(self.controller.find("T4").id, 2) self.assertRaises(ValueError, self.controller.update, "T2", Movie("T5", "D5", "G5"))
def setUp(self): new_release_movie = Movie("新作", NewReleasePrice()) children_movie = Movie("子供", ChildrenPrice()) regular_movie = Movie("一般", RegularPrice()) self.new_release = Rental(new_release_movie, 3) self.children = Rental(children_movie, 2) self.regular = Rental(regular_movie, 1)
def test_update(self): filename = "test.pickle" generic_repository = GenericFileRepository(filename) movie = Movie(1, "test", 2000, 10, True) generic_repository.create(movie) movie_to_update = Movie(1, "test", 2000, 10, False) generic_repository.update(movie_to_update) obj = generic_repository.read(1) self.assertEqual(obj.getInSchedule(), False) generic_repository.delete(1)
def __load_from_file(self): try: with open(self.__filename, 'r') as f_read: saved_movies = json.load(f_read) self.__storage.clear() for saved_movie in saved_movies: movie = Movie(*saved_movie) self.__storage[movie.getID()] = movie except FileNotFoundError: print("File not found.") self.__storage = {}
def setUp(self): self.controller = RentalService(RentalRepository(), RentalValidator(), RentalFormatter(), MovieRepository(), ClientRepository()) self.controller.movie_repository.add(Movie("T1", "D1", "G1, G2")) self.controller.movie_repository.add(Movie("T2", "D2", "G2")) self.controller.movie_repository.add(Movie("T3", "D3", "G3, G2")) self.controller.client_repository.add( Client("1990216070099", "Cazaciuc", "Valentin")) self.controller.client_repository.add( Client("2990216070099", "Caza", "Vale"))
def test_InMemoryRepository(): repo = InMemoryRepository() m1 = Movie(1, "Terminator", 1974, 15, 23, True) m2 = Movie(2, "Pulp Fiction", 1986, 20, 30, False) repo.create(m1) repo.create(m2) assert len(repo.read()) == 2 repo.update(Movie(2, "Home Alone", 2001, 10, 31, True)) updated = repo.read(2) assert updated.getID() == 2 assert updated.getTitle() == "Home Alone" repo.delete(1) assert len(repo.read()) == 1 assert repo.read(1) is None
def generate(self, n): """ Generates n random valid movies Args: n(int): number of movies to be generated Returns: list: list of random generated movies """ random_movies = [] for i in range(n): movie = Movie( "".join( random.choices(string.ascii_lowercase + ' ', k=random.randint(2, 10))).lstrip(' '), "".join( random.choices(string.ascii_lowercase + '. ', k=random.randint(10, 100))).lstrip('. '), "".join( random.choices(string.ascii_lowercase + ',,, ', k=random.randint(10, 30))).lstrip(', ')) self.__formatter.format(movie) self.__validator.validate(movie) random_movies.append(movie) return random_movies
def test_create(self): filename = "test.pickle" generic_repository = GenericFileRepository(filename) movie = Movie(1, "test", 2000, 10, True) generic_repository.create(movie) storage = generic_repository.read() self.assertEqual(len(storage), 1) generic_repository.delete(1)
def _addMovie(self, newId, newTitle, newDesc, newGenre, U=""): ''' Function adds a movie to the list ''' self._movies.append(Movie(newId, newTitle, newDesc, newGenre)) if U != "U": self._stack.append(StackObject("self._removeMovie", [newId])) self._helpStack.append(StackObject("self._addMovie", [newId, newTitle, newDesc, newGenre])) self._redoStack.clear()
def __init__(self): super().__init__() # Test Client class client = Client("001", "Gheorghe Vasile") self.assertEquals(client.Id, "001") self.assertEquals(client.Name, "Gheorghe Vasile") self.assertEquals(str(client), "The client's name is Gheorghe Vasile and their id is 001.") client.Name = "Andrei Pop" self.assertEquals(client.Name, "Andrei Pop") # Test Movie class movie = Movie("001", "Movie A", "Short description", "Genre C") self.assertEquals(movie.Id, "001") self.assertEquals(movie.Title, "Movie A") self.assertEquals(movie.Description, "Short description") self.assertEquals(movie.Genre, "Genre C") movie.Title = "New Title" self.assertEquals(movie.Title, "New Title")
def __load_from_file(self): """Loads data from file """ try: with open(self.__filename, 'r') as f_read: saved_movies = json.load(f_read) super(FileRepositoryInheritance, self).clear() for saved_movie in saved_movies: movie = Movie(*saved_movie) super(FileRepositoryInheritance, self).create(movie) except FileNotFoundError: super(FileRepositoryInheritance, self).clear()
def update(self, id, title, descr, genre): """ Takes all the needed parameters to update the movie with the given id If the new movie introduced is not valid, raises a NameError and does not update """ test_movie = Movie(id, title, descr, genre) self._validator.validate(test_movie) for movie in self._movieList: if movie.id == id: movie.descr = descr movie.title = title movie.genre = genre
def create_statement(self): new_release_movie = Movie("新作", NewReleasePrice()) children_movie = Movie("子供", ChildrenPrice()) regular_movie = Movie("一般", RegularPrice()) new_release = Rental(new_release_movie, 3) children = Rental(children_movie, 2) regular = Rental(regular_movie, 1) customer = Customer("山田") customer.add_rental(new_release) customer.add_rental(children) customer.add_rental(regular) return customer
def _load_file(self): try: f = open(self.file_name, 'r') line = f.readline() while line != '': tok = line.split(",") movie = Movie(int(tok[0]), tok[1], tok[2], tok[3]) Movie_Repository.add(self, movie) line = f.readline() except IOError as e: raise Exception("cannot load file - " + str(e)) finally: f.close()
def add(self, movieId, title, description, genre): """ Takes all the parameters needed to create a new movie Creates a movie Validates it If the movie is valid, it is added to the list """ movie = Movie(movieId, title, description, genre) self._validator.validate(movie) self._movieList.add(movie) undo = FunctionCall(self.remove, movieId) redo = FunctionCall(self.add, movieId, title, description, genre) operation = Operation(undo, redo) self._undoController.addOperation(operation)
def test_Movie(self): movie_ID = 3 movie_title = "Terminator" movie_release = 1986 movie_price = 15 movie_inSchedule = True m1 = Movie(movie_ID, movie_title, movie_release, movie_price, movie_inSchedule) assert m1.getID() == movie_ID assert m1.getTitle() == movie_title assert m1.getPrice() == movie_price assert m1.getRelease() == movie_release assert m1.getInSchedule() == movie_inSchedule
def _initMovies(self): movieNames = ["Mowgly", "Endgame", "Joker", "Facebook", "Last man standing", "Hunger games", "7 pinguins", "Last Christmas", "Fifty shades of Grey", "Tall Grass"] movieDescs = ["A boy in the jungle pretty much", "Thanos is not even relevant anymore", "Finally a good movie came out this year", "That one movie about Mark Zuckerberg", "Fortnite battle royale simulator", "Similar to fortnite battle royale but with better graphics", "The title is pretty much explanatory", "Some generic Christmas movie", "Do I need to explain this one?", "This one was so weeeeeiirdddd"] movieGenres = ["Adventure", "Action", "Thriller", "Inspirational", "Game", "Comedy", "Romance", "Horror"] ids = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"] takeOut = 0 List = [] for i in range(1, 11): r = random.randint(0, 9-takeOut) r1 = random.randint(0, 9-takeOut) r2 = random.randint(0, 9-takeOut) r3 = random.randint(0, 7) List.append(Movie(ids[r], movieNames[r1], movieDescs[r2], movieGenres[r3])) ids.remove(ids[r]) movieNames.remove(movieNames[r1]) movieDescs.remove(movieDescs[r2]) takeOut = takeOut+1 return List
def test_add(self): self.controller.add(Movie("T4", "D4", "G4")) self.assertEqual(len(self.controller.get_list()), 4) self.assertEqual(self.controller.find("T4").id, 4) self.assertRaises(ValueError, self.controller.add, Movie("T5", "D5", "")) self.assertRaises(ValueError, self.controller.add, Movie("T5", "", "")) self.assertRaises(ValueError, self.controller.add, Movie("", "D5", "")) self.assertRaises(ValueError, self.controller.add, Movie("", "", "")) self.assertEqual(len(self.controller.get_list()), 4) self.assertRaises(ValueError, self.controller.find, "T5") self.assertRaises(ValueError, self.controller.add, Movie("T4", "D5", "G5")) self.assertEqual(len(self.controller.get_list()), 4)
def test_remove_movieId(self): movie = Movie(12, "Titanic", "Long", "Romance") self.repo.add(movie) self.repo.remove(12) self.assertEqual(len(self.repo.getAll()), 0)
def initialise(self): self._movieList.add(Movie(100, "Titanic", "Lame", "Romance")) self._movieList.add(Movie(101, "Life Of Pi", "Kids stuff", "Something")) self._movieList.add(Movie(102, "F&F", "Boys stuff", "Action")) self._movieList.add(Movie(103, "Godzilla", "Description", "Fiction")) self._movieList.add(Movie(104, "Maze Runner", "Description", "Action")) self._movieList.add( Movie(105, "Silence of the lambs", "Description", "Thriller")) self._movieList.add(Movie(106, "Narcos", "descripiton", "Police")) self._movieList.add(Movie(107, "Batman", "descripiton", "Action")) self._movieList.add(Movie(108, "Dark knight", "descripiton", "Action")) self._movieList.add(Movie(109, "Inseption", "descripiton", "Drama")) self._movieList.add(Movie(110, "The 300", "descripiton", "History")) self._movieList.add(Movie(111, "Bones", "descripiton", "Police")) self._movieList.add( Movie(112, "Girl with the dragon tatoo", "descripiton", "Action")) self._movieList.add(Movie(113, "Tu piel", "descripiton", "Drama")) self._movieList.add(Movie(114, "Soy el mana", "descripiton", "Drama")) self._movieList.add( Movie(115, "No man's land", "descripiton", "Action")) self._movieList.add(Movie(116, "The sound", "descripiton", "Sci-FI")) self._movieList.add( Movie(117, "Down of the planet of the apes", "descripiton", "Action")) self._movieList.add( Movie(118, "The awakening", "descripiton", "Horros")) self._movieList.add(Movie(119, "The hobbit", "descripiton", "Action")) self._movieList.add(Movie(120, "Friends", "descripiton", "Commedy")) self._movieList.add(Movie(121, "Why him?", "descripiton", "Commendy")) self._movieList.add(Movie(122, "Beyond", "description", "Artistic")) self._movieList.add( Movie(123, "The Universe", "description", "Documentary")) self._movieList.add(Movie(124, "Narnia", "description", "Fantasy")) self._movieList.add( Movie(125, "Lord of the Rings", "description", "Fantasy")) self._movieList.add(Movie(126, "Baywatch", "description", "Comedy")) self._movieList.add(Movie(127, "GOT", "description", "Fantasy")) self._movieList.add(Movie(128, "2012-The end", "description", "Action")) self._movieList.add(Movie(129, "Sailor moon", "description", "Anime")) self._movieList.add(Movie(130, "Naruto", "description", "Anime")) self._movieList.add(Movie(131, "Boruto", "description", "Anime")) self._movieList.add(Movie(132, "Bleach", "description", "Anime")) self._movieList.add( Movie(133, "The lost Land", "description", "Animation")) self._movieList.add( Movie(134, "The lion King", "description", "Animation")) self._movieList.add(Movie(135, "Farcry", "description", "Games")) self._movieList.add(Movie(136, "Django", "description", "Adventure")) self._movieList.add(Movie(137, "Jumanji", "description", "Adventure")) self._movieList.add( Movie(138, "Sherlock Holmes", "description", "Detective")) self._movieList.add(Movie(139, "CSI", "description", "Police")) self._movieList.add(Movie(140, "Star wars", "description", "Sci-FI")) self._movieList.add(Movie(141, "Star Treck", "description", "Sci-FI")) self._movieList.add(Movie(142, "La La Land", "description", "Musical")) self._movieList.add(Movie(143, "Seinfield", "description", "Comedy")) self._movieList.add(Movie(144, "Garfield", "description", "Animation")) self._movieList.add( Movie(145, "Mickey Mouse Club", "description", "Animation")) self._movieList.add( Movie(146, "Bohemian Rhapsody", "description", "Documentary")) self._movieList.add(Movie(147, "Bad Luck", "description", "Comedy")) self._movieList.add(Movie(148, "The downfall", "description", "Action")) self._movieList.add(Movie(149, "Divergent", "description", "Action")) self._movieList.add( Movie(150, "The hunger games", "description", "Action"))
def setUp(self): unittest.TestCase.setUp(self) repo = Movie_Repository() movie = Movie(12, "Titanic", "Long", "Romance") repo.add(movie) repo.remove(12)
def test_descr(self): self.assertEqual(self.validator.validate(Movie(1, "T1", "D1", "G1")), True) self.assertRaises(ValueError, self.validator.validate, Movie(1, 'T1', '', 'G1'))
def add_movie(self, title, description, movie_type): movie = Movie(title, description, movie_type) self._movie_rep.add(movie) self._rental_controller.update() return movie
def test_getters(self): self.assertEqual(self.rental.client, Client("1990216079954", "Cazaciuc", "Valentin")) self.assertEqual(self.rental.movie, Movie("T1", "D1", "G1")) self.assertEqual(self.rental.rented_date, datetime.date.today()) self.assertEqual(self.rental.due_date, datetime.date.today() + datetime.timedelta(30)) self.assertEqual(self.rental.returned_date, None)
def setUp(self): self.rental = Rental(Movie("T1", "D1", "G1"), Client("1990216079954", "Cazaciuc", "Valentin"))
def get_new_movie(): title = input("Introduceti titlul: ") description = input("Introduceti descrierea: ") genre = input("Introduceti genurile: ") return Movie(title, description, genre)
def setUp(self): self.controller = MovieService(MovieRepository(), MovieValidator(), MovieFormatter()) self.controller.add(Movie("T1", "D1", "G1")) self.controller.add(Movie("T2", "D2", "G2")) self.controller.add(Movie("T3", "D3", "G3"))
def test_add_movie(self): repo2 = Movie_Repository() new_movie = Movie(123, "Abc", "desc", "genre") repo2.add(new_movie) #print(repo2) self.assertEqual(len(repo2), 1)