Этот тестовый код на Python с использованием модуля unittest и библиотеки parameterized содержит следующие тесты для класса BooksCollector:
-
test_add_new_book
Проверяет функциональность добавления новой книги. В данном тесте есть три проверяемых условия:- Добавление книги с именем "Гарри Поттер". Ожидается, что книга будет добавлена.
- Добавление книги с именем, состоящим из 41 символа. Ожидается, что книга не будет добавлена.
- Добавление книги с именем, состоящим из 40 символов. Ожидается, что книга будет добавлена.
-
test_set_book_genre
Проверяет установку жанра для книги. Тестирует два сценария:- Успешная установка жанра для книги "Гарри Поттер".
- Попытка установить недопустимый жанр, которая оставляет жанр пустым.
-
test_get_book_genre
Проверяет получение жанра для заданной книги. В тесте рассматривается установка и последующее получение жанра "Фантастика" для книги "Гарри Поттер". -
test_get_books_with_specific_genre
Проверяет получение всех книг с определенным жанром. Тест проверяет, что обе книги "Гарри Поттер" и "Властелин Колец" с жанром "Фантастика" возвращаются правильно. -
test_get_books_genre
Проверяет получение всех книг с их жанрами. Убедительный тест, в котором проверяется, что список книг пополняется и возвращается корректно. -
test_get_books_for_children
Проверяет получение всех книг, подходящих для детей. Проверяет, что книга "Гарри Поттер" возвращается, а книга "Детектив" не возвращается. -
test_add_book_in_favorites
Проверяет добавление книги в список избранного. Проверяет, что книга добавляется только один раз, даже если метод вызывается несколько раз. -
test_delete_book_from_favorites
Проверяет удаление книги из списка избранного. После удаления книги из избранного она не должна быть больше в списке избранного. -
test_get_list_of_favorites_books
Проверяет получение списка избранных книг. Проверяет, что после добавления книга "Гарри Поттер" находится в списке избранного.
Эти тесты обеспечивают проверку функциональности разных аспектов класса BooksCollector, помогая убедиться, что методы работают правильно в различных сценариях.