Skip to content

Repository files navigation

Домашняя работа №5

Задание 1 (50 баллов)

  1. Используя код из differential_evolution.py, напишите собственный логгер, который будет логировать каждый запуск и каждый логический этап работы алгоритма

  2. Ваш логгер должен сохранять логи с 1, 2, 3 уровнями логирования в файл logging_de.log

  3. Если результат отработки алгоритма больше 1e-3, то логируем результат с уровнем ERROR. Если результат больше 1e-1, то CRITICAL. Также лог должен в себе отражать параметры алгоритма, такие как начальная популяция, размер популяции, количество итераций и тд.

  4. ERROR и CRITICAL должны сохранятся в файл errors.log

  5. Напишите свой форматтер, который будет отражать:

    a. Время логирования в формате datetime

    б. Имя логгера

    в. Уровень логирования

    г. Действие, которое было выполнено

ВАЖНО! Весь код требуется писать в данном файле (logging_de.py), не трогая исходный differential_evolution.py

Задание 2 (50 баллов)

Ваша задача добиться 100% покрытия тестами DifferentialEvolution (что такое покрытие тестами: https://www.atlassian.com/ru/continuous-delivery/software-testing/code-coverage)

Различные этапы тестирования логики разделяйте на различные функции (тесты пишутся в файл test_de.py)

Запуск команды тестирования:

pytest -s test_de.py --cov-report=json --cov

Удачи!

P.S. Не забываем добавлять .gitignore, иначе минус 2 балла.

About

python-2-hw-5-aliyalvtsaa created by GitHub Classroom

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages