Нужно срочно сделать до конца воскресенья. Надо сделать срочно, все задание в приложении
Часть №1 Тестирование (стоит 5 баллов из 10)
Задание
Реализуйте на Python простейшую программу, которая будет считывать из файла числа, а далее отдельными функциями искать среди этих чисел минимальное число, максимальное число, считать их общую сумму и произведение. Для этой программы подготовьте тесты:
• проверяющие корректность работы функций поиска минимума и максимума
• проверяющие корректность работы функций сложения и умножения
• проверяющие скорость работы программы при увеличении размера входного файла
Пример работы
В файле: 1 4 2 3
Минимальное: 1
Максимальное: 4
Сумма: 10 (1+2+3+4)
Произведение: 24 (1*2*3*4)
Критерии оценки
Для получения оценки "1": реализуйте функции чтения из файла, поиска минимального числа, поиска максимального числа, сложения и умножения всех чисел из файла
Для получения оценки "2": реализуйте тесты для проверки корректности функций поиска минимума, максимума, сложения и умножения
Для получения оценки "3": реализуйте тесты для проверки скорости работы программы при увеличении размера входного файла
Для получения оценки "4": реализуйте любой другой тест на ваше усмотрение
Для получения оценки "5": реализуйте программу так, чтобы не возникало аварийного завершения работы программы из-за ошибки переполнения (что может легко случиться, если чисел в файле много, и они все достаточно большие - произведение будет очень быстро расти).
Часть №2 (стоит 5 баллов из 10)
Github Actions
Travis CI
Circle CI
Задание
Теперь вам необходимо настроить CI-систему для своего мини-проекта.
Критерии оценки
Для получения оценки "1": заведите репозиторий для своего проекта на GitHub. Оформите простейший README.md (туториал по markdown (файлы формата .md)). Загрузите в репозиторий файлы своего мини-проекта (код, тесты, README.md).
Для получения оценки "2": подключите к вашему проекту любую CI-систему (выше есть подсказки с вариантами систем, но мы крайне рекомендуем использовать GitHub Actions в рамках этого задания, только если Ваш семинарист не демонстрировал вам другую систему). Обеспечьте возможность запуска тестов в ручном режиме (например, по щелчку кнопки в веб-интерфейсе CI-системы)
Для получения оценки "3": настройте CI таким образом, чтобы прогон тестов запускался автоматически при любом новом коммите в репозиторий вашего проекта
Для получения оценки "4": сделайте интеграцию CI-системы и вашего репозитория на GitHub: сделайте бэйдж в README.md, который будет показывать текущий статус тестов. Для информации смотрите тут, тут или в аналогичном доке для выбранной вами CI-системы. Как выглядят бэйджи в целом, можно посмотреть в любом проекте на GitHub, где они сделаны, например, в репозитории Telegram.
Для получения оценки "5": сделайте любую интеграцию CI-системы и какого-либо мессенджера (например, telegram, slack, msteams и т.п.). Настройте систему так, чтобы при успешном прохождении теста посылалось