2.5 KiB
2.5 KiB
Фаза 56. Слои одной пачкой
Зависимости
Нет. Запреты уже размазаны по четырём тестовым проектам.
Зачем
Инвариант 4 и таблица в projects.md должны ломаться одним красным
тестом, а не «забыли дописать пятую копию». Content и Protocol сейчас молчат.
Задачи
- Проект
tests/HSchool.Architecture.Testsв solution,IsTestProject, без AppHost и без нового NuGet. Ссылки на Protocol, Content, People, Schedule, Ai, Simulation - Тесты ссылок: каждая библиотека из таблицы в
craft.md— этап A - Тесты исходников: в
src/HSchool.{Protocol,Content,People,Schedule,Ai,Simulation}нетDateTime.Now/DateTime.UtcNow - Удалить копипасты
Assembly_DoesNotReference*иSources_DoNotUseWallClockиз People, Ai, Schedule, Simulation (остальные факты тех файлов не трогать) - Testing policy в
AGENTS.md: слои —HSchool.Architecture.Tests, не хост - README: школа не «ещё пустая»; потолок create — слоты игрока, не «шесть»
Тесты, без которых фаза не закрыта
- Protocol не ссылается на Arch, ASP.NET, Sockets, Content, Simulation
- Content не ссылается на Arch, ASP.NET, Sockets, Protocol, Simulation
- People, Schedule, Ai не ссылаются на Arch, ASP.NET, Sockets
- Simulation не ссылается на ASP.NET и Sockets (Arch — можно)
- Исходники шести библиотек выше не содержат
DateTime.Now/DateTime.UtcNow - В People/Ai/Schedule/Simulation.Tests больше нет этих двух фактов
Критерий готовности
dotnet test tests/HSchool.Architecture.Testsпроходит- Добавить
using System.Net.HttpвHSchool.Content— слой красный - Старые проекты тестов без этих фактов по-прежнему собираются
Стоп
Не подключать NetArchTest. Не гонять AppHost. Не резать SchoolWorker. Не ссылаться на
HSchool.Server. Не бампить протокол, не трогать сейв.