Skip to content

S007 Success Criteria

IDCriterion
S007-SC-001All PSR-4 path-to-FQCN conversions produce correct results: standard Laravel paths (app/, tests/), deeply nested paths (5+ segments), custom namespace roots, and the default fallback for unrecognized roots. Verified by unit tests covering each configured root and the fallback path.
S007-SC-002All source-to-test path derivations produce correct results: files at the source root, files in subdirectories, deeply nested files, and files with non-standard extensions. Verified by unit tests with at least 5 distinct path structures.
S007-SC-003file_map overrides take strict precedence over algorithmic derivation. When a file_map entry exists for a source file, the mapped test path is used; when no entry exists, the algorithm runs. Verified by a test that provides both a file_map entry and a source file, confirming the mapped path is chosen.
S007-SC-004Path normalization via normalizeRelativePath() is idempotent: calling it twice on the same input produces the same output as calling it once. Verified by a property-based or parameterized test with at least 10 path variants including backslashes, double slashes, leading/trailing slashes.
S007-SC-005Multiple structure blocks produce no cross-contamination: a file_map in structure block A does not affect resolution in structure block B. Verified by a test with two structure blocks where only one has a file_map, confirming the other block uses algorithmic derivation.