-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtests.py
More file actions
135 lines (75 loc) · 4.92 KB
/
Copy pathtests.py
File metadata and controls
135 lines (75 loc) · 4.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
from main import BooksCollector
# класс TestBooksCollector объединяет набор тестов, которыми мы покрываем наше приложение BooksCollector
# обязательно указывать префикс Test
class TestBooksCollector:
# пример теста:
# обязательно указывать префикс test_
# дальше идет название метода, который тестируем add_new_book_
# затем, что тестируем add_two_books - добавление двух книг
def test_add_new_book_add_two_books(self):
# создаем экземпляр (объект) класса BooksCollectornano
collector = BooksCollector()
# добавляем две книги
collector.add_new_book('Гордость и предубеждение и зомби')
collector.add_new_book('Что делать, если ваш кот хочет вас убить')
# проверяем, что добавилось именно две
# словарь books_rating, который нам возвращает метод get_books_rating, имеет длину 2
assert len(collector.get_books_genre()) == 2
# напиши свои тесты ниже
# чтобы тесты были независимыми в каждом из них создавай отдельный экземпляр класса BooksCollector()nan
def test_set_book_genre_valid_genre(self):
collector = BooksCollector()
collector.add_new_book('Гарри Поттер')
collector.set_book_genre('Гарри Поттер', 'Фантастика')
assert collector.get_book_genre('Гарри Поттер') == 'Фантастика'
def test_get_book_genre_returns_correct_genre(self):
collector = BooksCollector()
collector.add_new_book('Гарри Поттер')
collector.set_book_genre('Гарри Поттер', 'Фантастика')
assert collector.get_book_genre('Гарри Поттер') == 'Фантастика'
def test_get_books_with_specific_genre_no_books_returns_empty_list(self):
collector = BooksCollector()
books = collector.get_books_with_specific_genre('Фантастика')
assert books == []
def test_get_books_genre_returns_correct_books(self):
collector = BooksCollector()
collector.add_new_book('Гарри Поттер')
collector.add_new_book('Властелин колец')
collector.set_book_genre('Гарри Поттер', 'Фантастика')
assert 'Гарри Поттер' in collector.get_books_genre()
def test_get_books_for_children_excludes_age_rating_genres(self):
collector = BooksCollector()
collector.add_new_book('Добрая книга')
collector.add_new_book('Страшная книга')
collector.set_book_genre('Добрая книга', 'Комедии')
collector.set_book_genre('Страшная книга', 'Ужасы')
children_books = collector.get_books_for_children()
assert 'Добрая книга' in children_books
def test_get_books_for_children_empty_returns_empty_list(self):
collector = BooksCollector()
assert collector.get_books_for_children() == []
def test_add_book_in_favorites_positive(self):
collector = BooksCollector()
collector.add_new_book('Гарри Поттер')
collector.add_book_in_favorites('Гарри Поттер')
assert 'Гарри Поттер' in collector.get_list_of_favorites_books()
def test_add_book_in_favorites_book_not_in_books_genre_not_added(self):
collector = BooksCollector()
collector.add_book_in_favorites('Несуществующая книга')
assert 'Несуществующая книга' not in collector.get_list_of_favorites_books()
def test_delete_book_from_favorites_success(self):
collector = BooksCollector()
collector.add_new_book('Гарри Поттер')
collector.add_book_in_favorites('Гарри Поттер')
collector.delete_book_from_favorites('Гарри Поттер')
assert 'Гарри Поттер' not in collector.get_list_of_favorites_books()
def test_get_list_of_favorites_books_returns_correct_list(self):
collector = BooksCollector()
collector.add_new_book('Гарри Поттер')
collector.add_new_book('Властелин колец')
collector.add_book_in_favorites('Гарри Поттер')
collector.add_book_in_favorites('Властелин колец')
favorites = collector.get_list_of_favorites_books()
assert len(favorites) == 2
assert 'Гарри Поттер' in favorites
assert 'Властелин колец' in favorites