В рамках тестирования класса BooksCollector реализовано 9 тестов, покрывающих все его методы. Каждый тест создаёт собственный экземпляр класса BooksCollector(), что дает независимость тестов.
Ниже приведено подробное описание каждого теста.
1. Один тест для метода add_new_book уже написанный — для примера содержал ошибку и вызывал статус FAILED
Ошибка в тесте test_add_new_book_add_two_books возникала из-за вызова несуществующего метода get_books_rating. В предоставленном классе BooksCollector есть метод get_books_genre(), который возвращает словарь books_genre. Его я использовала для проверки количества добавленных книг, статус PASSED
Проверяем, что книга не добавляется в словарь books_genre, если её имя не соответствует требованиям (пустая строка или длина более 40 символов).
Проверяем, что жанр успешно устанавливается для существующей книги.
Проверяем, что жанр книги корректно возвращается по её названию
Проверяем поиск книг по заданному жанру
Проверяем, что метод возвращает полный актуальный словарь books_genre
Проверяем, что в список книг для детей попадают только книги с жанрами, не имеющими возрастного рейтинга
Проверяем, что книга добавляется в избранное.
Проверяем удаление книги из избранного
Проверяем, что после добавления книги в избранное список избранных книг содержит эту книгу
Проверка, что книга добавляется при любом допустимом имени, включая граничные значения – минимальную длину (1 символ) и максимальную длину (40 символов)
Проверка метода add_new_book, который не должен создавать дубликаты, когда повторный вызов метода некорректно добавляет вторую запись с тем же именем
13. Тест test_add_book_in_favorites_book_not_in_collection – добавление в избранное книги, отсутствующей в коллекции
Проверка, что если книги нет в коллекции, она не должна попадать в избранное