Exemplo n.º 1
0
def testLibrary():
    lib = Library()
    b1 = Book("Live by Night", "Dennis Lehane")
    b2 = Book("A Time of Gifts", "Patrick Leigh Fermor")
    b3 = Book("Barchester Towers", "Anthony Trollope")
    for b in (b1, b2, b3):
        lib.addBook(b)
    p1 = Patron("Ken")
    p2 = Patron("Joshua")
    p3 = Patron("Sara")
    for p in (p1, p2, p3):
        lib.addPatron(p)
    print("\nThe first library:")
    print(lib)
    lib.save("books.dat", "patrons.dat")
    secondLib = Library("books.dat", "patrons.dat")
    print("\nThe second library (a copy):")
    print(secondLib)
    print("Expect Ken, 0 kooks out:", lib.getPatron("Ken"))
    print("Expect None:", lib.getPatron("Carolyn"))
    print("Expect Live by Night:", lib.getBook("Live by Night").getTitle())
    print("Expect None:", lib.getBook("Mystic River"))
    print("Expect None:", lib.removeBook("Live by Night"))
    print("\nLibrary:")
    print(lib)
    print("Expect Book's title is not in the library:",
          lib.removeBook("Mystic River"))
    print("Expect None:", lib.removePatron("Ken"))
    print("\nLibrary:")
    print(lib)
    print("Expect Patron's name is not in the library:",
          lib.removePatron("Ken"))
Exemplo n.º 2
0
def main():
    '''
    main function to create Book and Patron objects. 
    Books are then "borrowed" by Patrons.
    '''
    book1 = Book("Brave New World", "Huxley")
    book2 = Book("Leviathan Wakes", "Corey")
    book3 = Book("East of Eden", "Steinbeck")
    book4 = Book("The Last Lecture", "Pausch")
    book5 = Book("Siddhartha", "Hesse")
    book6 = Book("Python Fundamentals", "Lambert")  #Book not added to library
    patron1 = Patron("Ricky")
    patron2 = Patron("Bernard")
    patron3 = Patron("Annie")
    patron4 = Patron("Bender")
    patron5 = Patron("Samuel")  #Patron not added to library

    myLibrary = Library()
    myLibrary.addBook(book1)
    myLibrary.addBook(book2)
    myLibrary.addBook(book3)
    myLibrary.addBook(book4)
    myLibrary.addBook(book5)

    myLibrary.addPatron(patron1)
    myLibrary.addPatron(patron2)
    myLibrary.addPatron(patron3)
    myLibrary.addPatron(patron4)

    myLibrary.borrowBook(book1, patron1)
    myLibrary.borrowBook(book2, patron1)
    myLibrary.borrowBook(book3, patron1)
    myLibrary.borrowBook(book4, patron3)
    myLibrary.borrowBook(
        book4,
        patron1)  #patron1 tries to borrow 4th book, not added to waiting list
    myLibrary.borrowBook(book1, patron2)  #patron2 added to waiting list
    myLibrary.borrowBook(book6, patron1)  #book not added
    myLibrary.borrowBook(book1, patron5)  #patron not added

    myLibrary.returnBook(
        book1
    )  #book1 returned by patron1, waiting patron borrows book automatically.
    myLibrary.borrowBook(
        book4, patron1
    )  #patron1 now has 2 books, tries to borrow an already borrowed book.

    myLibrary.findPatron(patron2)  #shows patron2 status
    myLibrary.findBook(book4)  #shows book4 status

    separator()
    print(myLibrary)
    separator()
    myLibrary.removeBook(book5)
    myLibrary.removePatron(patron4)

    separator()
    print(myLibrary
          )  #to show book5 (Siddhartha) and patron4 (Bender) has been removed.
def main():
    
    #declare books and patrons
    book1 = Book("Of Mice and Men", "Steinbeck")
    book2 = Book("The Great Gatsby", "Fitzgerald")
    book3 = Book("1984","Orwell")
    book4 = Book("One Flew Over the Cuckoo's Nest","Kesey")
    patron1 = Patron("Ivan")
    patron2 =Patron("Jimmy")
    patron3 = Patron("Bob")
    
    #add books
    libraryBooks = []
    libraryBooks.append(book1)
    libraryBooks.append(book2)
    libraryBooks.append(book3)
    libraryBooks.append(book4)

    #create Library to store books and patrons
    myLibrary = Library(libraryBooks)
    
    #add patrons to library
    myLibrary.addPatron(patron1)
    myLibrary.addPatron(patron2)
    myLibrary.addPatron(patron3)
    
    #test borrowing features
    myLibrary.borrowBook(book1, patron2)
    myLibrary.borrowBook(book1, patron3)
    
    #Check Print Status
    print(str(myLibrary))
    
    #check return features
    myLibrary.returnBook(book1)
    
    #see if book was returned correctly
    print(str(myLibrary))