- 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.
1.7 KiB
Label Validation Tests
Task: AZ-156_test_label_validation Name: Label Validation Tests Description: Implement 5 blackbox tests for YOLO label validation — valid labels, out-of-range coords, missing files, multi-line corruption Complexity: 1 point Dependencies: AZ-152_test_infrastructure Component: Blackbox Tests Jira: AZ-156 Epic: AZ-151
Problem
Labels must be validated before dataset formation. Tests verify the check_label function correctly accepts valid labels and rejects corrupted ones.
Outcome
- 5 passing pytest tests in
tests/test_label_validation.py
Scope
Included
- BT-LBL-01: Valid label accepted (returns True)
- BT-LBL-02: Label with x > 1.0 rejected (returns False)
- BT-LBL-03: Label with height > 1.0 rejected (returns False)
- BT-LBL-04: Missing label file rejected (returns False)
- BT-LBL-05: Multi-line label with one corrupted line (returns False)
Excluded
- Integration with dataset formation (separate task)
Acceptance Criteria
AC-1: Valid label
Given label file with content 0 0.5 0.5 0.1 0.1
When check_label(path) is called
Then returns True
AC-2: x out of range
Given label file with content 0 1.5 0.5 0.1 0.1
When check_label(path) is called
Then returns False
AC-3: height out of range
Given label file with content 0 0.5 0.5 0.1 1.2
When check_label(path) is called
Then returns False
AC-4: Missing file Given non-existent file path When check_label(path) is called Then returns False
AC-5: Multi-line corruption
Given label with 0 0.5 0.5 0.1 0.1\n3 0.5 0.5 0.1 1.5
When check_label(path) is called
Then returns False
Constraints
- Label files are generated in tmp_path at test time
- No external fixtures needed