def test_set_unread_book_unread(self): self.add_test_data() self.bk2.read = False self.bk2.save() bk2_from_store = bookstore.get_book_by_id(self.bk2.id) self.assertFalse(bk2_from_store.read)
def test_save_add_to_db(self): bk = Book(author='AAAA', title='BBBB', read=True) bk.save() self.assertIsNotNone(bk.id) # Check book has ID self.assertEqual(bk, bookstore.get_book_by_id(bk.id)) self.assertTrue(bookstore.exact_match(bk))
def test_set_read_book_read(self): self.add_test_data() self.bk1.read = True self.bk1.save() bk1_from_store = bookstore.get_book_by_id(self.bk1.id) self.assertTrue(bk1_from_store.read)
def test_delete_book(self): self.add_test_data() delete_id = self.bk2.id count = store.book_count() store.delete_book(delete_id) self.assertEqual(count - 1, store.book_count()) self.assertIsNone(store.get_book_by_id(delete_id))
def test_add_book(self): self.add_test_data() book_count = store.book_count() bk = Book(author='aa', title='bbbbb') store.add_book(bk) self.assertTrue(store.get_book_by_id(bk.id)) self.assertEqual(book_count + 1, store.book_count())
def change_read(): book_id = ui.get_book_id() book = bookstore.get_book_by_id(book_id) if not book: ui.message('Book not found') return new_read = ui.get_read_value() book.read = new_read book.save()
def test_save_update_changes_to_db(self): bk = Book(author='CCC', title='DDD', read=True) bk.save() # Change some attributes and save bk.author = 'EEE' bk.title = 'FFF' bk.read = False bk.save() # Check DB has same data as bk Book object self.assertEqual(bk, bookstore.get_book_by_id(bk.id)) self.assertTrue(bk, bookstore.exact_match(bk))
def test_change_book_read_status_unread(self, mock_print, mock_input): self.add_test_data() main.main() updated_bk3 = store.get_book_by_id(self.bk3.id) self.assertFalse(updated_bk3.read)
def test_change_book_read_status(self, mock_print, mock_input): self.add_test_data() main.main() updated_bk4 = store.get_book_by_id(self.bk4.id) self.assertTrue(updated_bk4.read)
def test_get_book_by_id_not_found(self): # This test fails - student should fix self.add_test_data() result = bookstore.get_book_by_id(-1) self.assertIsNone(result)
def test_get_book_by_id_found(self): self.add_test_data() result = bookstore.get_book_by_id(self.bk1.id) self.assertEqual(result, self.bk1)
def test_add_book_empty_store(self): store.delete_all_books() bk = Book(author='aa', title='aaa') store.add_book(bk) self.assertTrue(store.get_book_by_id(bk.id)) self.assertEqual(1, store.book_count())