Beispiel #1
0
Tome_Rater.add_user("Alan Turing", "*****@*****.**")
Tome_Rater.add_user("David Marr", "*****@*****.**")

#Add a user with three books already read:
Tome_Rater.add_user("Marvin Minsky", "*****@*****.**", books=[book1, novel1, nonfiction1])

#Add books to a user one by one, with ratings:
Tome_Rater.add_book_to_user(book1, "*****@*****.**", 1)
Tome_Rater.add_book_to_user(novel1, "*****@*****.**", 3)
Tome_Rater.add_book_to_user(nonfiction1, "*****@*****.**", 3)
Tome_Rater.add_book_to_user(nonfiction2, "*****@*****.**", 4)
Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 1)

Tome_Rater.add_book_to_user(novel2, "*****@*****.**", 2)
Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 2)
Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 4)


#Uncomment these to test your functions:
Tome_Rater.print_catalog()
Tome_Rater.print_users()

print("Most positive user:"******"Highest rated book:")
print(Tome_Rater.highest_rated_book())
print("Most read book:")
print(Tome_Rater.most_read_book())
print(Tome_Rater.get_n_most_read_books(100))
print(Tome_Rater.get_n_most_prolific_readers(3))
Beispiel #2
0
print(Tome_Rater.highest_rated_book())
print()
print("Most read book:")
print(Tome_Rater.get_most_read_book())
print()
print(
    "List of 9 most read books: (truncated if requested list is larger than catalog"
)
for book in Tome_Rater.get_n_most_read_books(9):
    print('{title} has been read {count} times'.format(title=book[0],
                                                       count=book[1]))
print()
print(
    "List of 2 most prolific readers: (truncated if requested list is larger than user base)"
)
top_two = Tome_Rater.get_n_most_prolific_readers(2)
for user in top_two:
    print('{user} has read {book_count} books'.format(
        user=user, book_count=top_two[user]))
print()
print(
    "List of 2 most expensive books: (truncated if requested list is larger than catalog"
)
pricey_two = Tome_Rater.get_n_most_expensive_books(2)
for k, v in pricey_two.items():
    print('{title} costs ${price}'.format(title=k, price=v))
print()
print('"Worth" of users')
print('Total spend for {email} is {total_spend}'.format(
    email='*****@*****.**',
    total_spend=Tome_Rater.get_worth_of_user('*****@*****.**')))
Beispiel #3
0
Tome_Rater3.add_user("another user", "*****@*****.**")

print("Should not equal:")
if Tome_Rater == Tome_Rater3:
    print("TomeRaters are equal")
else:
    print("TomeRaters are not equal")

print("Test n most read books:")
print(Tome_Rater.get_n_most_read_books(3))
print(Tome_Rater.get_n_most_read_books(1000))
print(Tome_Rater.get_n_most_read_books(1.4))
print(Tome_Rater.get_n_most_read_books(-2))

print("Test n most prolific readers:")
print(Tome_Rater.get_n_most_prolific_readers(3))
print(Tome_Rater.get_n_most_prolific_readers(1000))
print(Tome_Rater.get_n_most_prolific_readers(1.4))
print(Tome_Rater.get_n_most_prolific_readers(-2))

print("Test n most expensive books:")
print(Tome_Rater.get_n_most_expensive_books(3))
print(Tome_Rater.get_n_most_expensive_books(1000))
print(Tome_Rater.get_n_most_expensive_books(1.4))
print(Tome_Rater.get_n_most_expensive_books(-2))

print("Test worth of a user:"******"*****@*****.**"))
print(Tome_Rater.get_worth_of_user("*****@*****.**"))

print("Test best value book:")
Beispiel #4
0
Tome_Rater.add_book_to_user(nonfiction2, "*****@*****.**", 4)
Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 1)

Tome_Rater.add_book_to_user(novel2, "*****@*****.**", 2)
Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 2)
Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 4)

#Uncomment these to test your functions:
Tome_Rater.print_catalog()
Tome_Rater.print_users()

print("Most positive user:"******"Highest rated book:")
print(Tome_Rater.highest_rated_book())
print("Most read book:")
print(Tome_Rater.get_most_read_book())

#My testing:

Tome_Rater.add_a_review(book1, "Great read!")
print(Tome_Rater.get_review(book1))
print("\n")
Tome_Rater.get_n_most_read_books(6)
print("\n")
Tome_Rater.get_n_most_prolific_readers(2)
print("\n")
print(Tome_Rater.get_n_most_expensive_books(4))
print("\n")
print(Tome_Rater.get_worth_of_user("*****@*****.**"))
Beispiel #5
0
Tome_Rater.add_book_to_user(novel2, "*****@*****.**", 2)
Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 2)
Tome_Rater.add_book_to_user(novel3, "*****@*****.**", 4)

#Uncomment these to test your functions:
Tome_Rater.print_catalog()
Tome_Rater.print_users()

print("Most positive user:"******"Highest rated book:")
print(Tome_Rater.highest_rated_book())
print("Most read book:")
print(Tome_Rater.most_read_book())

print('Top 5 Prolific Readers:')
most_read_users = Tome_Rater.get_n_most_prolific_readers(5)
for user in most_read_users:
    print('{count}: {name}'.format(count=user.get_read_count(),
                                   name=user.get_name()))

print('Top 5 Most Read Books:')
most_read_books = Tome_Rater.get_n_most_read_books(5)
for book in most_read_books:
    print('{count}: {title}'.format(count=Tome_Rater.get_read_count(book),
                                    title=book.get_title()))

print('Top 5 Highest Rated Books:')
highest_rated_books = Tome_Rater.get_n_highest_rated_books(5)
for book in highest_rated_books:
    print('%.1f: %s' % (book.get_average_rating(), book.get_title()))
Beispiel #6
0
tomerater3.add_book_to_user(fiction3, "*****@*****.**", 3)
tomerater3.add_book_to_user(tomeraternovel1, "*****@*****.**", 3.7)
print(tomerater3.highest_rated_book())
print("Testing most_positive_user tomerater3: Beatriz Rodriguez")
print(tomerater3.most_positive_user())
print("Testing get_n_most_read_books tomerater3: That Book & Python for Dummies")
tomerater3.add_book_to_user(tomeraterbook1, "*****@*****.**", 4)
tomerater3.add_book_to_user(tomeraterbook1, "*****@*****.**", 2)
print(tomerater3.get_n_most_read_books(2))
print("Testing get_n_most_prolific_readers tomerater3: Beatriz Rodriguez & Jenny Parque")
tomerater3.add_user("Jenny Parque", "*****@*****.**")
tomerater3.add_book_to_user(tomeraterbook1, "*****@*****.**", 3.8)
tomerater3.add_book_to_user(tomeraterbook1, "*****@*****.**", 2)
tomerater3.add_book_to_user(non_fiction1, "*****@*****.**", 1.5)
tomerater3.add_book_to_user(tomeraternovel1, "*****@*****.**", 2.3)
print(tomerater3.get_n_most_prolific_readers(2))
print("Testing get_n_most_expensive_books tomerater3: Untruth & Look Over There")
print(tomerater3.get_n_most_expensive_books(2))
print("Testing get_worth_of_user for Xiomei Li tomerater3: 67")
print(tomerater3.get_worth_of_user("*****@*****.**"))
print("Testing string representation tomerater2: This TomeRater has 3 book(s) and 2 user(s). \nWith Watch My Hand being read the most, Untruth having the highest average rating,\nand Beatriz Rodriguez giving the most positive reviews.")
print(tomerater2)
print("Testing tomerater1 equal to tomerater2: False")
print(tomerater1 == tomerater2)
print("Testing tomerater1 equal to tomerater4: True")
tomerater4.add_user("Beatriz Rodriguez", "*****@*****.**", [book1, book5])
tomerater4.add_book_to_user(tomeraterbook1, "*****@*****.**")
print(tomerater1 == tomerater4)
print("Testing existing user error handling for user3 tomerater3: User Jenny Parque currently exists with email [email protected]. Please use a different email.")
tomerater3.add_user("Jenny Parqua", "*****@*****.**")
print("Testing existing isbn error handling for all book types tomerater3")
Beispiel #7
0
print("\r\n***** Testing most positive user")
print("Most positive user: "******"\r\n***** Testing TomeRater __repr__ method")
print(tomerater)


print("\r\n***** Testing TomeRater get_n_most_read_books method")
print(tomerater.get_n_most_read_books(1))
print(tomerater.get_n_most_read_books(2))
print(tomerater.get_n_most_read_books(4))
print(tomerater.get_n_most_read_books(10))

print("\r\n***** Testing TomeRater get_n_most_prolific_readers method")
print(tomerater.get_n_most_prolific_readers(1))
print(tomerater.get_n_most_prolific_readers(2))
print(tomerater.get_n_most_prolific_readers(3))

print("\r\n***** Testing TomeRater get_n_most_expensive_books method")
print(tomerater.get_n_most_expensive_books(1))
print(tomerater.get_n_most_expensive_books(2))
print(tomerater.get_n_most_expensive_books(3))

print("\r\n***** Testing TomeRater get_worth_of_user method")
print(tomerater.get_worth_of_user("*****@*****.**"))
print(tomerater.get_worth_of_user("*****@*****.**"))
print(tomerater.get_worth_of_user("*****@*****.**"))