-
-
Notifications
You must be signed in to change notification settings - Fork 16
Chrivers/unit test improvements #138
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
Merged
Merged
Conversation
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
…ated by event_update_diff()
…ge for hue::diff
…TE_POINT. (found by unit testing)
…und rounding errrors, it could otherwise go slightly beyond this limit.
…vely a const table
…e coverage reporting for unit test code
…of (u16, u8). (found by unit testing)
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.
Add unit test coverage for almost all lines of code in the
huecrate, that is not a data model or constructor.This work is a bit tedious, but very exciting for the maintainability of Bifrost.
The
huecrate contains a significant amount of code related to handling events, colors, colorspaces, gamma correction, etc.All of this code is now tested against our assumptions of what it should do.
This obviously doesn't test if our assumptions are correct, but at least now
the code can't easily deviate from them.
Adding these unit tests uncovered a number of minor errors that have been fixed:
HueEntSegmentLayout::pack(), which produced wrong output (currently not used in Bifrost)HueStreamPacket::parse()not panic on invalid inputClamp::unit_to_u8_clamped()perform proper rounding.XY::from_rgb_unit()fall back toD50_WHITE_POINT, notD65_WHITE_POINT.Overall, these are minor papercuts that have not noticeably affected the functionality of Bifrost. Nevertheless, it is nice to have good test coverage.