-
Notifications
You must be signed in to change notification settings - Fork 107
Add ConditionTrait.evaluate() #909
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I'm trying to decide what tests to add. Are existing tests enough, since I pretty much just moved existing logic to a different place? |
We aim for 100% code coverage when testing, so the new function should be tested (even if it is just a trivial "did this return true when I expected it to?" test.) |
I plan to add some tests soon, at which point I think it will be appropriate to take the PR out of draft mode. |
2c6c863
to
979f23f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Uncommon! Just a couple more comments but this looks close to landing. We can land this before the associated Swift evolution proposal review begins (assuming it moves forward), since the additions are @_spi
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I meant to use "Request Changes" in the comment above.
@swift-ci please test |
Fixes #903 |
Add
ConditionTrait.evaluate()
so that a condition can be evaluated independent of aTest
object.Motivation:
Currently, the only way a
ConditionTrait
is evaluated is inside theprepare(for:)
method. This makes it difficult and awkward for third-party libraries to utilize these traits because evaluating a condition would require creating a dummyTest
to pass to that method.Modifications:
Add
ConditionTrait.evaluate()
, andConditionTrait.Evaluation
enum for the return value.Result:
Public API allows for evaluating a
ConditionTrait
in any context.Checklist: