Files
ai-training/_docs/02_tasks/done/AZ-159_test_annotation_classes.md
T
Oleksandr Bezdieniezhnykh cbf370c765 Refactor task management structure and update documentation
- Changed the directory structure for task specifications to include a dedicated `todo/` folder within `_docs/02_tasks/` for tasks ready for implementation.
- Updated references in various skills and documentation to reflect the new task lifecycle, including changes in the `implementer` and `decompose` skills.
- Enhanced the README and flow documentation to clarify the new task organization and its implications for the implementation process.

These updates improve task management clarity and streamline the implementation workflow.
2026-03-28 01:17:45 +02:00

1.6 KiB

Annotation Class & YAML Tests

Task: AZ-159_test_annotation_classes Name: Annotation Class & YAML Tests Description: Implement 4 tests for annotation class loading, weather mode expansion, YAML generation, and total class count Complexity: 2 points Dependencies: AZ-152_test_infrastructure Component: Blackbox Tests Jira: AZ-159 Epic: AZ-151

Problem

The system loads 17 base annotation classes, expands them across 3 weather modes, and generates a data.yaml with 80 class slots. Tests verify the class pipeline.

Outcome

  • 4 passing pytest tests in tests/test_annotation_classes.py

Scope

Included

  • BT-CLS-01: Load 17 base classes from classes.json
  • BT-CLS-02: Weather mode expansion (offsets 0, 20, 40)
  • BT-CLS-03: YAML generation produces nc: 80 with 17 named + 63 placeholders
  • RL-CLS-01: Total class count is exactly 80

Excluded

  • Training configuration (beyond scope)

Acceptance Criteria

AC-1: Base classes Given classes.json When AnnotationClass.read_json() is called Then returns dict with 17 unique base class entries

AC-2: Weather expansion Given classes.json When classes are read Then same class exists at offset 0 (Norm), 20 (Wint), 40 (Night)

AC-3: YAML generation Given classes.json + dataset path When create_yaml() runs with patched paths Then data.yaml contains nc: 80, 17 named classes + 63 Class-N placeholders

AC-4: Total count Given classes.json When generating class list Then exactly 80 entries

Constraints

  • Uses classes.json from project root (fixture_classes_json)
  • YAML output goes to tmp_path
  • Resource limit test marked: @pytest.mark.resource_limit