Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .coverage
Binary file not shown.
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
В данном проекте нужно покрыть тестами приложение BooksCollector. Класс BooksCollector содержит:
- Словарь books_genre, куда можно добавить пару Название книги: Жанр книги.
- Список favorites, который содержит избранные книги.
- Список genre, который содержит доступные жанры.
- Список genre_age_rating, который содержит жанры с возрастным рейтингом.
- Набор методов для работы со словарем books_genre и списком favorites:
- add_new_book — добавляет новую книгу в словарь без указания жанра. Название книги может содержать максимум 40 символов. Одну и ту же книгу можно добавить только один раз.
- set_book_genre — устанавливает жанр книги, если книга есть в books_genreи её жанр входит в списокgenre.
- get_book_genre— выводит жанр книги по её имени.
- get_books_with_specific_genre— выводит список книг с определённым жанром.
- get_books_genre— выводит текущий словарь books_genre.
- get_books_for_children — возвращает книги, которые подходят детям. У жанра книги не должно быть возрастного рейтинга.
- add_book_in_favorites — добавляет книгу в избранное. Книга должна находиться в словаре books_genre. Повторно добавить книгу в избранное нельзя.
- delete_book_from_favorites — удаляет книгу из избранного, если она там есть.
- get_list_of_favorites_books — получает список избранных книг.

Как запускать тесты?

Чтобы запускать тесты, нужно вводить в GIT Bash команду pytest -v test.py
Binary file added __pycache__/main.cpython-313-pytest-8.4.1.pyc
Binary file not shown.
Binary file modified __pycache__/test.cpython-313-pytest-8.4.1.pyc
Binary file not shown.
14 changes: 14 additions & 0 deletions test.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,20 @@ def collector_with_favorites():
collector.add_book_in_favorites('Избранная 2')
return collector

def test_get_books_genre_many_books(collector):
collector.add_new_book('Заживо в темноте')
collector.set_book_genre('Заживо в темноте', 'Ужасы')
collector.add_new_book('Золотой теленок')
collector.set_book_genre('Золотой теленок', 'Комедии')
collector.add_new_book('Восточный экспресс')
collector.set_book_genre('Восточный экспресс', 'Детективы')
expected = {
'Заживо в темноте': 'Ужасы',
'Золотой теленок': 'Комедии',
'Восточный экспресс': 'Детективы'
}
assert collector.get_books_genre() == expected

class TestAddNewBook:
def test_add_single_book(self, collector):
collector.add_new_book('Гарри Поттер')
Expand Down