Refactor ExcludeIf constructor and enhance test coverage #54965
Closed
+26
−15
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.
This PR improves the
ExcludeIf
class and its corresponding tests by implementing the following changes:Refactored the
ExcludeIf
constructor for better readability using an early return pattern.Improved test readability by:
expectException()
for cleaner assertions.Added a test case for null values to ensure
ExcludeIf
properly rejects them as invalid conditions.Extended
testExcludeIfRuleValidation
to cover additional validation scenarios, improving test coverage.Added a dynamic condition check in
ExcludeIf
rule to handle non-deterministic closures, ensuring correct behavior for dynamically evaluated conditions.These changes enhance code clarity, maintainability, and test reliability. 🚀