Структура git-репозитория для практикума 2022 г. по Python
TODO вместо коммита задачи посещаемость определять по файлу exercises.py (или не, .py, подумать)
Каталог для практикума в git-репозитории должен называться pythonprac. Далее все пути указаны, считая от этого каталога.
Репозиторий должен быть публичный
- В первом семестре
После создания репозитория его следует зарегистрировать здесь: https://git.cs.msu.ru/gkuryachiy/prac/-/issues/5
- Указать ФИО и группу
- Во втором семестре используется тот же репозиторий
Всё, что вы сделали за время занятия, следует публиковать в этом репозитории в день занятия
Все решения и тесты должны быть опубликованы в репозитории до окончания дедлайна по заданию
Правила именования
Для каждого семинара создается каталог с датой вида <ГГГГММДД> (выдача команды date "+%Y%m%d"), дата - того семинара, на котором выдано задание.
Для каждого задания создаются подкаталоги <ГГГГММДД>/1, <ГГГГММДД>/2 и т. д.
В подкаталоге содержатся:
ровно один .py-файл с текстом решения
подкаталог tests/, в котором хранятся примеры входных данных и эталонного вывода (если нужны по заданию).
Подсистема проверки домашних заданий:
Тесты:
для всех пар файлов вида 0.in/0.out, 1.in/1.out, …
запускает ваше решение, передаёт ему на стандартный вход содержимое число.in
сравнивает вывод решения с эталонным выводом число.out
- Выводит статистику, и, если они есть, различия
Пример:
20210903/1
prog.py
tests/
1.in
1.out
2.in
2.out
- …
Как написать тест на класс/функцию?
- К файлу с классом/функцией необходимо приписать тестирующий код
В файл с тестом (1.in) кладётся программа на питоне, в которой используется тестируемый класс или функция
В файл с эталонным выводом попадает результат этого print()
Пример:
prog.py
tests/1.in
print(C().A+42-C().fun(33))
tests/1.out
9