/
elder247
/
aaa-python-advanced
Обзор
Документация
Войти
/
elder247
/
aaa-python-advanced
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
hw_1/task_1_test.py
74 строки
2 KB
Anton Trofimuk
add task_1.py and task_1_test.py
18 ноя 2024, 20:28
18 ноя 2024, 20:28
f24855a
Код
Авторство
О чём код?
import pytest from task_1 import Advert def test_get_by_point(): advert = Advert({ 'title': 'title_name', 'key_1': 'value_1', 'key_2': {'key_21': 'value_21'}, 'key_3': {'key_31': {'key_311': 'value_311', 'key_312': 'value_312'}} }) assert advert.key_1 == 'value_1' assert advert.key_2.key_21 == 'value_21' assert advert.key_3.key_31.key_311 == 'value_311' assert advert.key_3.key_31.key_312 == 'value_312' def test_title_in_dict(): with pytest.raises(ValueError): Advert(dict()) Advert({'key': 'value'}) def test_price_in_json(): advert_1 = Advert({'title': 'title_name'}) assert advert_1.price == 0 def test_price_not_negative_init(): with pytest.raises(ValueError): Advert({'title': 'title_name', 'price': -1}) def test_price_not_negative_set(): advert_1 = Advert({'title': 'title_name', 'price': 0}) advert_2 = Advert({'title': 'title_name'}) with pytest.raises(ValueError): advert_1.price = -1 advert_2.price = -1 def test_key_names(): advert = Advert({'title': 'title_name', 'class': 1, 'def': 2, 'for': 3}) assert advert.class_ == 1 assert advert.def_ == 2 assert advert.for_ == 3 def test_advert_str(): advert_1 = Advert({'title': 'iPhone X', 'price': 100}) assert str(advert_1) == '\033[1;33;40m iPhone X | 100 ₽' def test_location_address(): dct_1 = { "title": "python", "location": { "address": "город Москва, Лесная, 7", "metro_stations": ["Белорусская"] } } dct_2 = { "title": "iPhone X", "price": 100, "location": { "address": "город Самара, улица Мориса Тореза, 50", "metro_stations": ["Спортивная", "Гагаринская"] } } advert_1 = Advert(dct_1) advert_2 = Advert(dct_2) assert advert_1.location.address == "город Москва, Лесная, 7" assert advert_2.location.address == "город Самара, улица Мориса Тореза, 50"