Список юнит-тестов, которые удалось реализовать для main.py:
- test_init_books_genre_is_empty_dict Проверяет, что при создании объекта BooksCollector словарь books_genre инициализируется пустым.
- test_init_favorites_is_empty_list Проверяет, что список favorites изначально пуст.
- test_init_genre_has_expected_values Показывает, что список жанров genre содержит ожидаемые значения: ['Фантастика', 'Ужасы', 'Детективы', 'Мультфильмы', 'Комедии'].
- test_init_genre_age_rating_has_expected_values Проверяет, что список жанров с возрастным ограничением (genre_age_rating) совпадает с ожидаемыми: ['Ужасы', 'Детективы'].
- test_add_new_book_add_two_books Проверяет, что метод add_new_book() корректно добавляет две разные книги в коллекцию.
- test_add_new_book_not_adds_duplicate Показывает, что при попытке добавить одну и ту же книгу повторно — дубликат не появляется.
- test_add_new_book_invalid_name_not_added Применен метод параметрицации. Проверяет, что книги с некорректным названием (пустое имя или имя длиннее 50 символов) не добавляются в коллекцию.
- test_set_book_genre_sets_correctly Показывает, что метод set_book_genre() корректно присваивает жанр книге.
- test_get_book_genre_returns_correct_value Проверяет, что get_book_genre() возвращает правильный жанр для книги, если он был установлен.
- test_get_book_genre_returns_empty_for_no_genre Проверяет, что если у книги жанр не задан, метод get_book_genre() возвращает пустую строку.
- test_get_books_with_specific_genre_returns_correct_books Проверяет, что метод get_books_with_specific_genre() возвращает только книги, относящиеся к указанному жанру.
- test_get_books_with_specific_genre_empty_if_no_books Проверяет, что при отсутствии книг метод get_books_with_specific_genre() возвращает пустой список.
- test_get_books_with_specific_genre_invalid_genre_returns_empty Показывает, что при запросе несуществующего жанра возвращается пустой список.
- test_get_books_genre_returns_full_dict Проверяет, что метод get_books_genre() возвращает корректный словарь с книгами и их жанрами.
- test_get_books_genre_empty_initially Показывает, что при инициализации коллекции словарь жанров пуст.
- test_get_books_for_children_excludes_horror_and_detective Проверяет, что книги жанров «Ужасы» и «Детективы» не попадают в список детских.
- test_get_books_for_children_includes_safe_genres Проверяет, что книги безопасных жанров (например, «Мультфильмы») отображаются в списке для детей.
- test_add_book_in_favorites_adds_book Проверяет, что книга добавляется в список избранных.
- test_add_book_in_favorites_not_adds_duplicates Показывает, что одна и та же книга не добавляется в избранное повторно.
- test_delete_book_from_favorites_removes_book Проверяет, что книга удаляется из списка избранных.
- test_get_list_of_favorites_books_returns_all Проверяет, что метод get_list_of_favorites_books() возвращает все книги, добавленные в избранное.
- test_get_list_of_favorites_books_empty_initially Показывает, что список избранных книг изначально пуст.