test(detector): cover the report branch for a detector with no blind … - #238
Merged
Conversation
…spots Codecov found the only uncovered statement in eval_corpus: the else in render_report that says so when blind_subclasses comes back empty. Two wrong answers were available. Deleting the branch, which a working detector reaches by definition and which W3 exists to make reachable. Or covering it with a mock, which proves the formatter can be called rather than that the product ever arrives there. So it is exercised through the production path: a scorer that flags everything empties the blind list, and evaluate and render_report do the rest. The opposite case is asserted in the same commit, because a test that only ever sees one side of a branch cannot tell that the branch exists. Mutation-tested, three mutants, all killed: both branches made to print the same text, the blind-subclass filter made to return nothing ever, and the else emptied. The second fails four tests, which is the right shape -- the blind list is quoted in the report, in the baseline pin, and in the subclass tally.
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
…spots
Codecov found the only uncovered statement in eval_corpus: the else in render_report that says so when blind_subclasses comes back empty.
Two wrong answers were available. Deleting the branch, which a working detector reaches by definition and which W3 exists to make reachable. Or covering it with a mock, which proves the formatter can be called rather than that the product ever arrives there.
So it is exercised through the production path: a scorer that flags everything empties the blind list, and evaluate and render_report do the rest. The opposite case is asserted in the same commit, because a test that only ever sees one side of a branch cannot tell that the branch exists.
Mutation-tested, three mutants, all killed: both branches made to print the same text, the blind-subclass filter made to return nothing ever, and the else emptied. The second fails four tests, which is the right shape -- the blind list is quoted in the report, in the baseline pin, and in the subclass tally.
What this changes
How it was measured
Checklist
ruff format --check cyberai/ tests/andruff check cyberai/ tests/passpytest -W ignore::DeprecationWarning -m "not slow and not smoke"passes