[ADD] титульный лист по бланку отчёта об учебной практике
This commit is contained in:
@@ -163,3 +163,71 @@ def test_titlepage_registry_lists_three_layouts() -> None:
|
||||
def test_titlepage_unknown_name_raises() -> None:
|
||||
with pytest.raises(ValueError, match="ptp-report"):
|
||||
render_fm("титульник: несуществующий\n")
|
||||
|
||||
|
||||
PTP_REPORT_FM = (
|
||||
"титульник: ptp-report\n"
|
||||
"факультет: Информатика и системы управления (ИУ)\n"
|
||||
"кафедра: Теоретическая информатика и компьютерные технологии (ИУ9)\n"
|
||||
"студент: И. И. Камалетдинов\n"
|
||||
"студент_полностью: Камалетдинов Ильяс Илнарович\n"
|
||||
"группа: ИУ9-22Б\n"
|
||||
"тип_практики: проектно-технологическая практика\n"
|
||||
"предприятие: МГТУ имени Н. Э. Баумана\n"
|
||||
"команда: Система мониторинга радиоэфира\n"
|
||||
"хранилище: https://monitor.yss.su/IU9/radio-serv\n"
|
||||
"руководитель: Д. П. Посевин\n"
|
||||
"год: 2026\n"
|
||||
)
|
||||
|
||||
|
||||
def test_ptp_report_has_blank_headings() -> None:
|
||||
tex = render_fm(PTP_REPORT_FM)
|
||||
for heading in (
|
||||
"ОТЧЁТ ПО УЧЕБНОЙ ПРАКТИКЕ",
|
||||
"Тип практики",
|
||||
"Название предприятия",
|
||||
"Команда",
|
||||
"Оценка",
|
||||
"Руководитель практики",
|
||||
):
|
||||
assert heading in tex
|
||||
|
||||
|
||||
def test_ptp_report_fills_all_fields() -> None:
|
||||
tex = render_fm(PTP_REPORT_FM)
|
||||
for value in (
|
||||
"Камалетдинов Ильяс Илнарович",
|
||||
"И. И. Камалетдинов",
|
||||
"ИУ9-22Б",
|
||||
"проектно-технологическая практика",
|
||||
"МГТУ имени Н. Э. Баумана",
|
||||
"Д. П. Посевин",
|
||||
"2026",
|
||||
):
|
||||
assert value in tex
|
||||
|
||||
|
||||
def test_ptp_report_team_line_includes_repository() -> None:
|
||||
tex = render_fm(PTP_REPORT_FM)
|
||||
assert "Система мониторинга радиоэфира (хранилище" in tex
|
||||
assert "monitor.yss.su/IU9/radio-serv" in tex
|
||||
|
||||
|
||||
def test_ptp_report_team_line_without_repository() -> None:
|
||||
fm = PTP_REPORT_FM.replace(
|
||||
"хранилище: https://monitor.yss.su/IU9/radio-serv\n", ""
|
||||
)
|
||||
tex = render_fm(fm)
|
||||
assert "хранилище" not in tex
|
||||
|
||||
|
||||
def test_ptp_report_has_no_hardcoded_names() -> None:
|
||||
"""Имена, группы и предприятия приходят только из front matter."""
|
||||
import inspect
|
||||
|
||||
from md2gost.latex.titlepages import ptp_report
|
||||
|
||||
source = inspect.getsource(ptp_report)
|
||||
for forbidden in ("Посевин", "Коновалов", "Камалетдинов", "ИУ9-2"):
|
||||
assert forbidden not in source
|
||||
|
||||
Reference in New Issue
Block a user