Пример #1
0
 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"))
Пример #2
0
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")
Пример #3
0
    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)
Пример #5
0
 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)
Пример #6
0
 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 = {}
Пример #7
0
    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"))
Пример #8
0
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
Пример #9
0
    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
Пример #10
0
 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)
Пример #11
0
 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()
Пример #12
0
    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()
Пример #14
0
 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
Пример #15
0
    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
Пример #16
0
    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()
Пример #17
0
 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)
Пример #18
0
 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
Пример #19
0
 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
Пример #20
0
    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)
Пример #21
0
 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)
Пример #22
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"))
Пример #23
0
 def setUp(self):
     unittest.TestCase.setUp(self)
     repo = Movie_Repository()
     movie = Movie(12, "Titanic", "Long", "Romance")
     repo.add(movie)
     repo.remove(12)
Пример #24
0
 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'))
Пример #25
0
 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
Пример #26
0
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")
Пример #27
0
 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)
Пример #28
0
 def setUp(self):
     self.rental = Rental(Movie("T1", "D1", "G1"), Client("1990216079954", "Cazaciuc", "Valentin"))
Пример #29
0
 def get_new_movie():
     title = input("Introduceti titlul: ")
     description = input("Introduceti descrierea: ")
     genre = input("Introduceti genurile: ")
     return Movie(title, description, genre)
Пример #30
0
 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"))
Пример #31
0
 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)