Move all contextual validation code into its own function #1313
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.
Motivation
The contextual validation function is hard to test.
It also directly accesses the sled state, but we want to work on sled and contextual validation at the same time.
Solution
Move the contextual validation function into the check module, and call it via a wrapper in the state service.
This change has two benefits:
The code in this pull request has:
Unit Tests and Property TestsReview
@yaahc is also working on a sled refactor right now, they might conflict.
Follow Up Work
Do the rest of the difficulty contextual validation #802