feat: Add sample data validation testing infrastructure (Sprint 1) #31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Implements Sprint 1 of the comprehensive testing strategy to validate sample data consistency across all output formats (JSON, HTML, Text, Git-style) and diff modes (Roslyn semantic, Line-by-line).
Related: Testing Strategy Document in
docs/testing-strategy-sample-validation.mdChanges
New Projects Created
RoslynDiff.TestUtilities - Shared test utility library
TestResultmodel with Pass/Fail factory methodsSampleDataSourceAttributefor test case discoveryLineRangerecord for line number rangesLineRangeComparerfor overlap/duplicate detectionLineNumberValidatorfor comprehensive validationRoslynDiff.TestUtilities.Tests - Unit tests for utilities
Test Infrastructure
SampleValidation/folder in Integration.Tests (ready for Sprint 2)TempTestCases/for ad-hoc testing (.gitignored)Documentation
Test Results
All existing tests continue to pass:
Build Status
✅ All 9 projects compile successfully (0 warnings, 0 errors)
Next Steps
Sprint 1 provides the foundation for Sprint 2:
Files Changed
New Files:
tests/RoslynDiff.TestUtilities/(6 files)tests/RoslynDiff.TestUtilities.Tests/(4 files)tests/RoslynDiff.Integration.Tests/SampleValidation/README.mdtests/RoslynDiff.Integration.Tests/TempTestCases/.gitkeepModified Files:
.gitignore- Added TempTestCases ignore rulesroslyn-diff.sln- Added TestUtilities projectsRoslynDiff.Integration.Tests.csproj- Added TestUtilities reference🤖 Generated with Claude Code