Выполнены этапы 2, 3, 4
Дополнен план работ этапом 7 (покрытие тестами)
This commit is contained in:
50
PLAN.md
50
PLAN.md
@@ -62,7 +62,30 @@
|
||||
|
||||
---
|
||||
|
||||
## Этап 4: Создание документации
|
||||
## Этап 4: Создание класса предпочтений операторов
|
||||
|
||||
**Файл:** `models.py` (или отдельный файл `preferences.py`)
|
||||
|
||||
**Что сделать:**
|
||||
- Создать класс `OperatorPreferences` для конструирования и управления предпочтениями операторов.
|
||||
- Реализовать цепочку методов (builder pattern) for удобного создания предпочтений.
|
||||
- Поддержать следующие типы предпочтений:
|
||||
- Желаемый рабочий день (конкретные даты месяца)
|
||||
- Желаемая смена (индекс смены 0-3)
|
||||
- Желаемый день недели для работы (понедельник, вторник, ...)
|
||||
- Желаемый выходной (конкретные даты месяца)
|
||||
- Реализовать метод `__str__` для отладки.
|
||||
- Обеспечить экспорт предпочтений в формат, пригодный для `config.py`.
|
||||
|
||||
**Требования к реализации:**
|
||||
- Класс должен позволять конструировать предпочтения через цепочку методов.
|
||||
- Поддерживать три типа предпочтений (как указано выше).
|
||||
- Экспортировать предпочтения в формат, пригодный для `config.py`.
|
||||
- Поддерживать метод `__str__` для отладки.
|
||||
|
||||
---
|
||||
|
||||
## Этап 5: Создание документации
|
||||
|
||||
**Файл:** `USER_GUIDE.md`
|
||||
|
||||
@@ -74,13 +97,33 @@
|
||||
|
||||
---
|
||||
|
||||
## Этап 5: Тестирование
|
||||
## Этап 6: Тестирование
|
||||
|
||||
**Проверить:**
|
||||
1. Запуск `python main.py`
|
||||
2. Корректное считывание дат из `config.py`
|
||||
3. Генерация расписания
|
||||
4. Вывод в CSV
|
||||
5. Корректная работа класса `OperatorPreferences`
|
||||
6. Экспорт предпочтений в `config.py`
|
||||
|
||||
---
|
||||
|
||||
## Этап 7: Написание тестов
|
||||
|
||||
**Файл:** `tests/test_all.py`
|
||||
|
||||
**Что сделать:**
|
||||
- Создать тесты для всех модулей проекта
|
||||
- Использовать pytest для запуска тестов
|
||||
- Проверить корректность работы всех компонентов
|
||||
- Добавить тесты для edge-кейсов
|
||||
|
||||
**Структура тестов:**
|
||||
- `test_config.py` - тесты для конфигурации
|
||||
- `test_models.py` - тесты для моделей и предпочтений
|
||||
- `test_main.py` - тесты для основного скрипта
|
||||
- `test_integration.py` - интеграционные тесты
|
||||
|
||||
---
|
||||
|
||||
@@ -88,3 +131,6 @@
|
||||
- Конфигурация в одном файле `config.py`
|
||||
- Простое редактирование без знания Python
|
||||
- Четкая документация в `USER_GUIDE.md`
|
||||
- Гибкая система предпочтений через класс `OperatorPreferences`
|
||||
- Полноценный набор тестов для всех компонентов
|
||||
|
||||
|
||||
Reference in New Issue
Block a user