def __loadRepo(self): self.__loadFileReadMode() for line in self.__file: splitLine = line.split() movieToAdd = MovieDAO(splitLine[1], splitLine[2], splitLine[3]) movieToAdd.setMovieId(int(splitLine[0])) super().addMovieWithId(movieToAdd) self.__closeFile()
def test_undoUpdateMovie(self): updatedMovie = MovieDAO("a", "a", "a") updatedMovie.setMovieId(0) self.undoRunner.addCommandToUndo(["update", "0", "a", "a", "a"], self.movieController, self.stack, "movie", self.commandsStack) self.movieController.updateMovieWithId(0, updatedMovie) self.assertEqual(self.movieController.getMovieWithId(0).getTitle(), "a") self.undoRunner.undo(self.clientController, self.movieController, self.rentalController, self.stack) self.assertEqual(self.movieController.getMovieWithId(0).getTitle(), "Titanic")
def setUp(self): self.movieRepo = MovieRepo() self.movieRepo.addMovie(MovieDAO("Titanic", "lovely", "Romance")) self.movieRepo.addMovie(MovieDAO("Avatar", "lovely1", "Romance1")) self.movieRepo.addMovie(MovieDAO("TestMovie", "lovely1", "Romance1")) self.clientRepo = ClientRepo() self.clientRepo.addClient(ClientDAO("dani")) self.clientRepo.addClient(ClientDAO("ancu")) self.rentalRepo = RentalRepo() self.rentalRepo.addRental(RentalDAO(0, 0, Date(5, 4, 2018), Date(7, 9, 2020), self.movieRepo, self.clientRepo)) self.rentalRepo.addRental(RentalDAO(1, 1, Date(5, 4, 2018), Date(7, 9, 2020), self.movieRepo, self.clientRepo)) self.printer = Printer()
def test_addMovie(self): self.movieRepo.addMovie(MovieDAO("dani", "great", "nice")) self.movieRepo.addMovie(MovieDAO("titanic", "description", "genre")) self.assertEqual((self.movieRepo.getList()[0]).getId(), 0) self.assertEqual((self.movieRepo.getList()[0]).getTitle(), "dani") self.assertEqual((self.movieRepo.getList()[0]).getDescription(), "great") self.assertEqual((self.movieRepo.getList()[0]).getGenre(), "nice") self.assertEqual((self.movieRepo.getList()[1]).getId(), 1) self.assertEqual((self.movieRepo.getList()[1]).getTitle(), "titanic") self.assertEqual((self.movieRepo.getList()[1]).getDescription(), "description") self.assertEqual((self.movieRepo.getList()[1]).getGenre(), "genre")
def test_init(self): with self.assertRaises(ValueError): testMovie = MovieDAO(1, "dfa", "fasd") with self.assertRaises(ValueError): testMovie = MovieDAO("asd", [], "fasd") with self.assertRaises(ValueError): testMovie = MovieDAO("sdf", "fsda", 6.5) with self.assertRaises(ValueError): testMovie = MovieDAO(1, "dfa", []) with self.assertRaises(ValueError): testMovie = MovieDAO(1, [], {"6": 5}) self.assertEqual(self.movie.getTitle(), "Titanic", 'movie title got wrong') self.assertEqual(self.movie.getDescription(), "lovely", 'movie description got wrong') self.assertEqual(self.movie.getGenre(), "romance", 'movie genre got wrong') self.assertRaises(TypeError, lambda: self.movie.getId(), 'default movie id not None')
def test_undoAddMovie(self): self.undoRunner.addCommandToUndo(["add", "a", "a", "a"], self.movieController, self.stack, "movie", self.commandsStack) self.movieController.addMovie(MovieDAO("a", "a", "a")) self.undoRunner.addCommandToUndo(["add", "b", "b", "b"], self.movieController, self.stack, "movie", self.commandsStack) self.movieController.addMovie(MovieDAO("b", "b", "b")) self.printer.printList(self.movieController.getMovieList()) print() self.assertEqual(len(self.movieController.getRepo().getList()), 14) self.assertEqual(self.movieController.getMovieWithId(13).getTitle(), "b") self.undoRunner.undo(self.clientController, self.movieController, self.rentalController, self.stack) self.printer.printList(self.movieController.getMovieList()) self.assertEqual(len(self.movieController.getRepo().getList()), 13) with self.assertRaises(ObjectNotInCollectionException): self.movieController.getMovieWithId(13)
def setUp(self): self.movieRepo = MovieRepo() self.movieRepo.addMovie(MovieDAO("Titanic", "lovely", "Romance")) self.clientRepo = ClientRepo() self.clientRepo.addClient(ClientDAO("dani")) self.rental = RentalDAO(0, 0, Date(5, 4, 2018), Date(7, 9, 2020), self.movieRepo, self.clientRepo)
def test_addMovie(self): self.movieBinaryRepository.addMovie(MovieDAO("dani", "great", "nice")) self.movieBinaryRepository.addMovie( MovieDAO("titanic", "description", "genre")) self.assertEqual( (self.movieBinaryRepository.getMovieWithId(0)).getId(), 0) self.assertEqual( (self.movieBinaryRepository.getMovieWithId(0)).getTitle(), "dani") self.assertEqual( (self.movieBinaryRepository.getMovieWithId(0)).getDescription(), "great") self.assertEqual( (self.movieBinaryRepository.getMovieWithId(0)).getGenre(), "nice") self.assertEqual( (self.movieBinaryRepository.getMovieWithId(1)).getId(), 1) self.assertEqual( (self.movieBinaryRepository.getMovieWithId(1)).getTitle(), "titanic") self.assertEqual( (self.movieBinaryRepository.getMovieWithId(1)).getDescription(), "description") self.assertEqual( (self.movieBinaryRepository.getMovieWithId(1)).getGenre(), "genre")
def test_removeMovie(self): self.movieRepo.addMovie(MovieDAO("dani", "great", "nice")) self.movieRepo.addMovie(MovieDAO("titanic", "description", "genre")) self.movieRepo.removeMovieWithId(1) self.assertEqual(len(self.movieRepo.getList()), 1) testMovie = MovieDAO("dani", "great", "nice") testMovie.setMovieId(0) self.assertEqual(self.movieRepo.getList(), [testMovie]) with self.assertRaises(ObjectNotInCollectionException): self.movieRepo.removeMovieWithId(5)
def addMovie(self, commandToRedo, movieController): movieController.addMovie(MovieDAO(commandToRedo[1], commandToRedo[2], commandToRedo[3]))
def test_updateMovie(self): self.movieFileRepository.addMovie(MovieDAO("dani", "great", "nice")) self.movieFileRepository.addMovie( MovieDAO("titanic", "description", "genre")) self.movieFileRepository.updateMovieWithId( 0, MovieDAO("ancu", "nice", "great")) testMovie1 = MovieDAO("ancu", "nice", "great") testMovie1.setMovieId(0) testMovie2 = MovieDAO("titanic", "description", "genre") testMovie2.setMovieId(1) self.assertEqual(self.movieFileRepository.getList(), [testMovie1, testMovie2])
def populateWithMany(self): self.addMovie(MovieDAO("Titanic", "adventurous", "drama")) self.addMovie(MovieDAO("Avatar", "nice", "action")) self.addMovie(MovieDAO("Silence", "genial", "drama")) self.addMovie(MovieDAO("Mars", "vary romantic", "romance")) self.addMovie(MovieDAO("Narnia", "children stuff", "children")) self.addMovie(MovieDAO("Pluto", "war!", "children")) self.addMovie(MovieDAO("Conrad", "adventurous", "children")) self.addMovie(MovieDAO("Henry", "nice", "action")) self.addMovie(MovieDAO("Genie", "boring", "action")) self.addMovie(MovieDAO("China", "no comment", "romance")) self.addMovie(MovieDAO("Mainland", "silence", "romance")) self.addMovie(MovieDAO("crocodile", "out of ideas", "romance")) self.addMovie(MovieDAO("belly", "adventurous", "drama")) self.addMovie(MovieDAO("Allowable", "nice", "action")) self.addMovie(MovieDAO("Hobby", "genial", "drama")) self.addMovie(MovieDAO("Mary", "vary romantic", "romance")) self.addMovie(MovieDAO("Robot", "children stuff", "children")) self.addMovie(MovieDAO("Marsss", "war!", "children")) self.addMovie(MovieDAO("Glutton", "adventurous", "children")) self.addMovie(MovieDAO("Henry VIII", "nice", "action")) self.addMovie(MovieDAO("Genial", "boring", "action")) self.addMovie(MovieDAO("Appeell", "no comment", "romance")) self.addMovie(MovieDAO("Android", "silence", "romance")) self.addMovie(MovieDAO("A1", "out of ideas", "romance")) self.addMovie(MovieDAO("A2", "adventurous", "drama")) self.addMovie(MovieDAO("A3", "nice", "action")) self.addMovie(MovieDAO("A4", "genial", "drama")) self.addMovie(MovieDAO("A5", "vary romantic", "romance")) self.addMovie(MovieDAO("A6", "children stuff", "children")) self.addMovie(MovieDAO("A7", "war!", "children")) self.addMovie(MovieDAO("A8", "adventurous", "children")) self.addMovie(MovieDAO("A9", "nice", "action")) self.addMovie(MovieDAO("A21", "boring", "action")) self.addMovie(MovieDAO("A22", "no comment", "romance")) self.addMovie(MovieDAO("A23", "silence", "romance")) self.addMovie(MovieDAO("A24", "out of ideas", "romance")) self.addMovie(MovieDAO("A25", "adventurous", "drama")) self.addMovie(MovieDAO("A26", "nice", "action")) self.addMovie(MovieDAO("A27", "genial", "drama")) self.addMovie(MovieDAO("BY1", "vary romantic", "romance")) self.addMovie(MovieDAO("BY12", "children stuff", "children")) self.addMovie(MovieDAO("BY13", "war!", "children")) self.addMovie(MovieDAO("BY14", "adventurous", "children")) self.addMovie(MovieDAO("BY15", "nice", "action")) self.addMovie(MovieDAO("BY16", "boring", "action")) self.addMovie(MovieDAO("BY17", "no comment", "romance")) self.addMovie(MovieDAO("BY18", "silence", "romance")) self.addMovie(MovieDAO("BY9", "out of ideas", "romance")) self.addMovie(MovieDAO("BY122", "adventurous", "drama")) self.addMovie(MovieDAO("BY123", "nice", "action")) self.addMovie(MovieDAO("BY133", "genial", "drama")) self.addMovie(MovieDAO("BY144", "vary romantic", "romance")) self.addMovie(MovieDAO("BY155", "children stuff", "children")) self.addMovie(MovieDAO("BY166", "war!", "children")) self.addMovie(MovieDAO("BY177", "adventurous", "children")) self.addMovie(MovieDAO("BY188", "nice", "action")) self.addMovie(MovieDAO("BY199", "boring", "action")) self.addMovie(MovieDAO("BY1000", "no comment", "romance")) self.addMovie(MovieDAO("MaBY1inland", "silence", "romance")) self.addMovie(MovieDAO("BY~~1", "out of ideas", "romance"))
def updateMovie(self, commandToRedo, movieController): movieController.updateMovieWithId(int(commandToRedo[1]), MovieDAO(commandToRedo[2], commandToRedo[3], commandToRedo[4]))
class TestMovie(TestCase): def setUp(self): self.movie = MovieDAO("Titanic", "lovely", "romance") def tearDown(self): self.movie = None def test_init(self): with self.assertRaises(ValueError): testMovie = MovieDAO(1, "dfa", "fasd") with self.assertRaises(ValueError): testMovie = MovieDAO("asd", [], "fasd") with self.assertRaises(ValueError): testMovie = MovieDAO("sdf", "fsda", 6.5) with self.assertRaises(ValueError): testMovie = MovieDAO(1, "dfa", []) with self.assertRaises(ValueError): testMovie = MovieDAO(1, [], {"6": 5}) self.assertEqual(self.movie.getTitle(), "Titanic", 'movie title got wrong') self.assertEqual(self.movie.getDescription(), "lovely", 'movie description got wrong') self.assertEqual(self.movie.getGenre(), "romance", 'movie genre got wrong') self.assertRaises(TypeError, lambda: self.movie.getId(), 'default movie id not None') def test_setMovieId(self): self.movie.setMovieId(5) self.assertEqual(self.movie.getId(), 5, "movie id set wrong") def test_setWrongId(self): self.assertRaises(ValueError, lambda: self.movie.setMovieId(-3)) self.assertRaises(ValueError, lambda: self.movie.setMovieId(5.5)) self.assertRaises(ValueError, lambda: self.movie.setMovieId("dasas")) self.assertRaises(ValueError, lambda: self.movie.setMovieId([])) self.assertRaises(ValueError, lambda: self.movie.setMovieId({})) self.assertRaises(ValueError, lambda: self.movie.setMovieId((5, 3))) def test_setMovieIdSecondTime(self): self.movie.setMovieId(5) with self.assertRaises(AlreadySetException): self.movie.setMovieId(9)
def setUp(self): self.movie = MovieDAO("Titanic", "lovely", "romance")
def populateWithFew(self): self.addMovie(MovieDAO("Titanic", "adventurous", "drama")) self.addMovie(MovieDAO("Avatar", "nice", "action")) self.addMovie(MovieDAO("Silence", "genial", "drama")) self.addMovie(MovieDAO("Mars", "vary romantic", "romance")) self.addMovie(MovieDAO("Narnia", "children stuff", "children")) self.addMovie(MovieDAO("Pluto", "war!", "children")) self.addMovie(MovieDAO("Conrad", "adventurous", "children")) self.addMovie(MovieDAO("Henry", "nice", "action")) self.addMovie(MovieDAO("Genie", "boring", "action")) self.addMovie(MovieDAO("China", "no comment", "romance")) self.addMovie(MovieDAO("Mainland", "silence", "romance")) self.addMovie(MovieDAO("Stars", "out of ideas", "romance"))
def __doAddMovie(self, optionInputWordList): self.movieController.addMovie(MovieDAO(optionInputWordList[1], optionInputWordList[2], optionInputWordList[3]))
def updateMovie(self, command, movieController): # return "movie" "update" "movie id" "old title" "old description" "old genre" updatedMovie = MovieDAO(command[3], command[4], command[5]) updatedMovie.setMovieId(int(command[2])) movieController.updateMovieWithId(int(command[2]), updatedMovie)
def test_getList(self): movie1 = MovieDAO("aaa", "aaa", "aaa") movie1.setMovieId(1) movie2 = MovieDAO("bb", "bb", "bb") movie2.setMovieId(2) movie3 = MovieDAO("958", "958", "958") movie3.setMovieId(4) self.movieFileRepository.addMovieWithId(movie1) self.movieFileRepository.addMovieWithId(movie2) self.movieFileRepository.addMovieWithId(movie3) self.assertEqual(self.movieFileRepository.getList(), [movie1, movie2, movie3])
def __doUpdateMovie(self, optionInputWordList): self.movieController.updateMovieWithId(int(optionInputWordList[1]), MovieDAO(optionInputWordList[2], optionInputWordList[3], optionInputWordList[4]))
def test_hasClientWithId(self): movie1 = MovieDAO("aaa", "aaa", "aaa") movie1.setMovieId(1) movie2 = MovieDAO("bb", "bb", "bb") movie2.setMovieId(2) movie3 = MovieDAO("958", "958", "958") movie3.setMovieId(3) self.movieFileRepository.addMovieWithId(movie1) self.movieFileRepository.addMovieWithId(movie2) self.movieFileRepository.addMovieWithId(movie3) self.assertEqual(self.movieFileRepository.hasMovieWithId(1), True) self.assertEqual(self.movieFileRepository.hasMovieWithId(4), False)
def addMovie(self, command, movieController): # return "movie" "add" "movie id" "title" "description" "genre" movie = MovieDAO(command[3], command[4], command[5]) movie.setMovieId(int(command[2])) movieController.addMovieWithId(movie)