/
Danis_py
/
pytest
Обзор
Документация
Войти
/
Danis_py
/
pytest
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test.py
84 строки
2 KB
Danis_py
upload files
08 дек 2025, 11:45
08 дек 2025, 11:45
44b46bd
Код
Авторство
О чём код?
import pytest from main import check_age from main import solve from main import sisadmin @pytest.mark.parametrize("age, expected",[ (25, 'Доступ разрешён'), (15, 'Доступ запрещён'), (18, 'Доступ разрешён'), ]) def test_check_age(age, expected): assert check_age(age) == expected @pytest.mark.parametrize("todo_list, expected", [ ([ ["Почта", 1], ["Клиенты", 2], ["План", 0.6], ["Презентация", 3], ["Созвон", 0.5] ], 0.9), ([], 8.0), ([["Работа", 8]], 0.0), ([["Переработка", 10]], -2.0), ]) def test_solve_1(todo_list, expected): assert solve(todo_list) == pytest.approx(expected) @pytest.mark.parametrize("models, available, manufacturers, expected_ssds, expected_count", [ ( ['480 ГБ ... Kingston A400', '500 ГБ ... Samsung 870 EVO', '480 ГБ ... ADATA SU650', '240 ГБ ... ADATA SU650', '250 ГБ ... Samsung 870 EVO', '256 ГБ ... Apacer AS350 PANTHER', '480 ГБ ... WD Green', '500 ГБ ... WD Red SA500'], [1, 1, 1, 1, 0, 1, 1, 0], ['Intel', 'Samsung', 'WD'], ['500 ГБ ... Samsung 870 EVO', '480 ГБ ... WD Green'], 2 ), ( ['Модель Samsung', 'Модель WD'], [0, 0], ['Samsung', 'WD'], [], 0 ), ( ['Модель Kingston', 'Модель Apacer'], [1, 1], ['Samsung', 'WD'], [], 0 ), ( ['Модель Samsung', 'Модель WD', 'Модель Intel'], [1, 1, 1], ['Samsung', 'WD', 'Intel'], ['Модель Samsung', 'Модель WD', 'Модель Intel'], 3 ), ( ['Модель Samsung', 'Модель WD', 'Модель Intel'], [0, 1, 1], ['Samsung', 'WD', 'Intel'], ['Модель WD', 'Модель Intel'], 2 ) ]) def test_sisadmin(models, available, manufacturers, expected_ssds, expected_count): ssds, count = sisadmin(models, available, manufacturers) assert ssds == expected_ssds, f"Неверный список SSD. Ожидалось: {expected_ssds}, Получено: {ssds}" assert count == expected_count, f"Неверное количество. Ожидалось: {expected_count}, Получено: {count}"