def test_domains(self): ''' tests the implicit functions of book, client and rent domains ''' book1 = Book(1, "Persona 3", "3rd entry in the series", "Shuji Sogabe") book2 = Book(2, "Persona 5", "5th entry in the series", "Atlus") assert book1.get_id() == 1 assert book2.get_title() == "Persona 5" assert book1.get_desc() == "3rd entry in the series" assert book2.get_author() == "Atlus" assert Book.__str__( book1 ) == "Persona 3 by Shuji Sogabe described as '3rd entry in the series' with id 1" try: Book("Five", 5, 324, "Name") assert False except ValueError: pass book1.set_id(8) book1.set_author("banana") book1.set_title("coconut") book1.set_desc("fruits") assert book1.get_id() == 8 assert book1.get_desc() == "fruits" assert book1.get_author() == "banana" assert book1.get_title() == "coconut" client1 = Client(1, "Scott Fitzgerald") client2 = Client(2, "Shuji Sogabe") assert client1.get_id() == 1 assert client2.get_name() == "Shuji Sogabe" assert Client.__str__(client1) == "Scott Fitzgerald with id 1" try: Client("Five", "Name") assert False except ValueError: pass client1.set_id(8) client1.set_name("banana") assert client1.get_id() == 8 assert client1.get_name() == "banana" rent = Rental(12, 23, 34, datetime(2018, 2, 2), datetime(2018, 2, 16), datetime(2018, 2, 10)) assert rent.get_bookID() == 23 assert rent.get_clientID() == 12 assert rent.get_rentalID() == 34 assert str(rent.get_due_date()) == "2018-02-16 00:00:00" assert str(rent.get_return_date()) == "2018-02-10 00:00:00" assert str(rent.get_rented_date()) == "2018-02-02 00:00:00" rent.set_bookID(23) rent.set_clientID(9) rent.set_rentalID(10) rent.set_rented_date(datetime(2018, 11, 3)) rent.set_return_date(datetime(2018, 8, 31)) rent.set_due_date(datetime(2018, 2, 8)) assert rent.get_bookID() == 23 assert rent.get_clientID() == 9 assert rent.get_rentalID() == 10 assert str(rent.get_due_date()) == "2018-02-08 00:00:00" assert str(rent.get_return_date()) == "2018-08-31 00:00:00" assert str(rent.get_rented_date()) == "2018-11-03 00:00:00"
def test_delete(self): ''' testing the delete function of client, book and rental repositories also tests find functions for books/ clients ''' book1 = Book(0, "Persona 3", "3rd entry in the series", "Shuji Sogabe") self._book_repo.add(book1) book2 = Book(1, "Persona 5", "5th entry in the series", "Atlus") self._book_repo.add(book2) self._book_repo.remove(book1) listBooks = self._book_repo.getAll() assert len(listBooks) == 1 assert listBooks[0].get_title() == "Persona 5" assert listBooks[0].get_author() == "Atlus" assert listBooks[0].get_desc() == "5th entry in the series" assert listBooks[0].get_id() == 1 try: self._book_repo.remove(Book(34, "til", "de", "dw")) assert True except IndexError: pass except ValueError: pass assert self._book_repo.find(book1) == False assert self._book_repo.find(book2) == True assert self._book_repo.find_by_id(book2.get_id()) == book2 client1 = Client(1, "Scott Fitzgerald") client2 = Client(2, "Shuji Sogabe") self._client_repo.add(client1) self._client_repo.add(client2) self._client_repo.remove(client1) listClients = self._client_repo.getAll() assert len(listClients) == 1 assert listClients[0].get_name() == "Shuji Sogabe" assert listClients[0].get_id() == 2 try: self._client_repo.remove(Client(34, "til")) assert True except IndexError: pass except ValueError: pass assert self._client_repo.find(client1) == False assert self._client_repo.find(client2) == True assert self._client_repo.find(Client(1, "Shuji Sogabe")) == False assert self._client_repo.find_by_id(client2.get_id()) == client2 self._rental_repo.rent_book(client1, book1, datetime(2018, 11, 3)) self._rental_repo.rent_book(client2, book1, datetime(2018, 12, 3)) self._rental_repo.delete(self._rental_repo.getAll()[1]) listRent = self._rental_repo.getAll() assert len(listRent) == 1 assert listRent[0].get_clientID() == 1 assert listRent[0].get_bookID() == 0 assert listRent[0].get_rentalID() == 0 assert str(listRent[0].get_rented_date()) == "2018-11-03 00:00:00" assert str(listRent[0].get_due_date()) == "2018-11-17 00:00:00" assert str(listRent[0].get_return_date()) == "None" try: self._rental_repo.rent_book(client2, book1, datetime(2018, 12, 7)) assert True except IndexError: pass except ValueError: pass