예제 #1
0
    def __init__(self):
        self.__id = 4
        self.__titlu = "Ion"
        self.__descriere = "carte minunata"
        self.__autor = "Liviu Rebreanu"
        self.__carte = Book(self.__id, self.__titlu, self.__autor,
                            self.__descriere)

        self.__id2 = 2
        self.__nume = "Maria"
        self.__cnp = 1234567890987
        self.__client = Client(self.__id2, self.__nume, self.__cnp)

        self.__repoBook = RepositoryB()
        self.__validBook = ValidBook()
        self.__repoClient = RepositoryC()
        self.__validClient = ValidClient()

        self.__servClient = ServClient(self.__validClient, self.__repoClient)
        self.__servBook = ServBook(self.__validBook, self.__repoBook)

        self.__repoRent = RepositoryR()
        self.__validRent = ValidRent()

        self.__servRent = ServRent(self.__validRent, self.__repoRent,
                                   self.__repoBook, self.__repoClient)
        self.__rent = Rent(self.__id, self.__id2)
예제 #2
0
 def test_search(self):
     from Service.BookService import BookService
     self._BookService = BookService()
     self.assertEqual(self._BookService.search('1', '1'), [
         Book('1', 'Dear John', 'Spark'),
         Book('10', 'The Nanny', 'Berry')
     ])
     self.assertEqual(self._BookService.search('2', 'D'),
                      [Book('1', 'Dear John', 'Spark')])
     self.assertEqual(self._BookService.search('3', 'S'),
                      [Book('1', 'Dear John', 'Spark')])
예제 #3
0
 def __init__(self):
     self._data = [
         Book('1', 'Dear John', 'Spark'),
         Book('2', 'Ion', 'Lewis'),
         Book('3', 'Othilia', 'Petr'),
         Book('4', 'Twins', 'Mozes'),
         Book('5', 'After you', 'Niki'),
         Book('6', 'Lilly', 'Poppy'),
         Book('7', 'Billy', 'Tracy'),
         Book('8', 'Mary', 'Many'),
         Book('9', 'Harry', 'Peter'),
         Book('10', 'The Nanny', 'Berry')
     ]
예제 #4
0
    def __testController(self):
        carte = self.__servRent.mostHiredBook()
        assert carte == Book(7, "Pacala", "Eminescu", "desc2")

        listaaux = self.__servRent.sort_nume()
        listaRents = self.__repoRent.getRents()

        listaRents.sort(key=lambda x: x.get_Client().getNume(), reverse=False)
        assert listaaux == listaRents
예제 #5
0
 def incarcaBooksFile(self):
     f = open(r"C:\Users\Victor\Desktop\lab7-9\BooksFile.txt", 'r')
     for book in f.readlines():
         words = book.strip().split(" ")
         id = int(words[0])
         titlu = words[1]
         autor = words[2]
         descriere = words[3]
         carte = Book(id, titlu, autor, descriere)
         self._listBooks.append(carte)
     f.close()
예제 #6
0
    def __testadaug(self):
        self.__servBook.add_book(6, "Ion", "Liviu", "desc1")
        assert self.__repoBook.searchById(6) == Book(6, "Ion", "Liviu",
                                                     "desc1")

        self.__servClient.add_client(3, "Mihai", 1234567890986)
        assert self.__repoClient.searchById(3) == Client(
            3, "Mihai", 1234567890986)

        self.__servBook.add_book(7, "Pacala", "Eminescu", "desc2")
        self.__servRent.add_rent(7, 2)
        assert self.__repoRent.getRents() == [Rent(7, 2)]
예제 #7
0
 def test_functions_undo_redo(self):
     self.bookS = BookService()
     self.clientS = ClientService()
     self.rentalS = RentalService()
     self.undo_list = []
     self.redo_list = []
     self._service = Service(self.bookS, self.clientS, self.rentalS)
     book = Book('121', 'Nope', 'John')
     client = Client('223', 'Poppy')
     self._service.book_add(book)
     self.assertEqual(len(self.bookS.display()), 11)
     self._service.book_remove(book)
     self.assertEqual(len(self.bookS.display()), 10)
     self._service.client_add(client)
     self.assertEqual(len(self.clientS.display()), 11)
     self._service.client_remove(client)
     self.assertEqual(len(self.clientS.display()), 10)
     rental = Rental('212', '121', '223', ['14', '1', '2018'],
                     ['29', '5', '2019'])
     rentals = [
         Rental('212', '121', '223', ['14', '1', '2018'],
                ['29', '5', '2019']),
         Rental('002', '121', '223', ['18', '3', '2014'],
                ['29', '7', '2019'])
     ]
     self._service.rental_add(rental)
     self.assertEqual(len(self.rentalS.display()), 11)
     self._service.rental_remove(rental)
     self.assertEqual(len(self.rentalS.display()), 10)
     self._service.add_books_rentals(book, rentals)
     self.assertEqual(len(self.bookS.display()), 11)
     self.assertEqual(len(self.rentalS.display()), 12)
     self._service.remove_books_rentals(book, rentals)
     self.assertEqual(len(self.bookS.display()), 10)
     self.assertEqual(len(self.rentalS.display()), 10)
     self._service.add_client_rentals(client, rentals)
     self.assertEqual(len(self.clientS.display()), 11)
     self.assertEqual(len(self.rentalS.display()), 12)
     self._service.remove_client_rentals(client, rentals)
     self.assertEqual(len(self.clientS.display()), 10)
     self.assertEqual(len(self.rentalS.display()), 10)
     b1 = ['121', 'Nope', 'John']
     c1 = ['223', 'Poppy']
     b = ['121', 'Mommy', 'Lilly']
     c = ['223', 'Mark']
     self.assertEqual(self._service.book_update_undo(b1, b), b)
     self.assertEqual(self._service.book_update_redo(b1, b), b1)
     self.assertEqual(self._service.client_update_undo(c1, c), c)
     self.assertEqual(self._service.client_update_redo(c1, c), c1)
예제 #8
0
 def incarcaRentsFile(self):
     f = open(r"C:\Users\Victor\Desktop\lab7-9\RentsFile.txt", 'r')
     for rent in f.readlines():
         words = rent.strip().split(" ")
         idB = int(words[3])
         titlu = words[4]
         autor = words[5]
         descriere = words[6]
         idC = int(words[0])
         nume = words[1]
         cnp = int(words[2])
         book = Book(idB, titlu, autor, descriere)
         client = Client(idC, nume, cnp)
         rentt = Rent(book, client)
         self._listRents.append(rentt)
     f.close()
예제 #9
0
 def test_Book_class(self):
     b = Book(12, 'Ion', 'L. Rebreanu')
     with self.assertRaises(DomainError):
         Book(None, 'gica', 'Hagi')
     with self.assertRaises(DomainError):
         Book(123, None, 'Hagi')
     with self.assertRaises(DomainError):
         Book(123, 'Hagi', None)
     self.assertEqual(b.bookId, 12)
     self.assertEqual(b.title, 'Ion')
     self.assertEqual(b.author, 'L. Rebreanu')
     self.assertEqual(str(b), 'ID = 12, title = Ion, author = L. Rebreanu')
     b1 = Book(12, 'John', 'Zummy')
     b2 = Book(12, 'Ion', 'L. Rebreanu')
     self.assertEqual(b == b1, False)
     self.assertEqual(b == b2, True)
예제 #10
0
 def test_update(self):
     from Service.BookService import BookService
     self._BookService = BookService()
     self._BookService.update('1', 'Mummy', 'Helena')
     self.assertEqual(self._BookService.display()[0],
                      Book('1', 'Mummy', 'Helena'))
예제 #11
0
 def test_add(self):
     from Service.BookService import BookService
     self._BookService = BookService()
     self._BookService.add('121', 'I an Joe', 'Bobby')
     self.assertEqual(self._BookService.display()[-1],
                      Book('121', 'I an Joe', 'Bobby'))
예제 #12
0
class Test(object):
    def __init__(self):
        self.__id = 4
        self.__titlu = "Ion"
        self.__descriere = "carte minunata"
        self.__autor = "Liviu Rebreanu"
        self.__carte = Book(self.__id, self.__titlu, self.__autor,
                            self.__descriere)

        self.__id2 = 2
        self.__nume = "Maria"
        self.__cnp = 1234567890987
        self.__client = Client(self.__id2, self.__nume, self.__cnp)

        self.__repoBook = RepositoryB()
        self.__validBook = ValidBook()
        self.__repoClient = RepositoryC()
        self.__validClient = ValidClient()

        self.__servClient = ServClient(self.__validClient, self.__repoClient)
        self.__servBook = ServBook(self.__validBook, self.__repoBook)

        self.__repoRent = RepositoryR()
        self.__validRent = ValidRent()

        self.__servRent = ServRent(self.__validRent, self.__repoRent,
                                   self.__repoBook, self.__repoClient)
        self.__rent = Rent(self.__id, self.__id2)

    def __testMetoda(self):
        assert self.__carte.getTitlu() == self.__titlu
        assert self.__client.getId() == self.__id2

        assert self.__carte.getDescriere() == self.__descriere
        assert self.__client.getNume() == self.__nume

        assert self.__rent.get_Book() == self.__id
        assert self.__rent.get_Client() == self.__id2

    def __testadaug(self):
        self.__servBook.add_book(6, "Ion", "Liviu", "desc1")
        assert self.__repoBook.searchById(6) == Book(6, "Ion", "Liviu",
                                                     "desc1")

        self.__servClient.add_client(3, "Mihai", 1234567890986)
        assert self.__repoClient.searchById(3) == Client(
            3, "Mihai", 1234567890986)

        self.__servBook.add_book(7, "Pacala", "Eminescu", "desc2")
        self.__servRent.add_rent(7, 2)
        assert self.__repoRent.getRents() == [Rent(7, 2)]

    def __testRepo(self):
        assert len(self.__repoBook) == 0
        self.__repoBook.addBook(self.__carte)
        assert len(self.__repoBook) == 1

        assert len(self.__repoClient) == 0
        self.__repoClient.addClient(self.__client)
        assert len(self.__repoClient) == 1

        aux = Client(2, "Maria", 1234567890987)
        assert aux == self.__repoClient.searchById(2)

    def __testController(self):
        carte = self.__servRent.mostHiredBook()
        assert carte == Book(7, "Pacala", "Eminescu", "desc2")

        listaaux = self.__servRent.sort_nume()
        listaRents = self.__repoRent.getRents()

        listaRents.sort(key=lambda x: x.get_Client().getNume(), reverse=False)
        assert listaaux == listaRents

    def rulareTeste(self):
        self.__testMetoda()
        self.__testRepo()
        self.__testadaug()
        self.__testController()