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.
I've been doing some code-coverage-guided test-writing this weekend.
This unveiled some gaps in my previous
Melody
andSongPlayer
tests.I've also started working my way through
Piano
.It feels a bit dirty, because I had to make some edits to "production" logic, in order to make it testable.
I've been taught that's normally a big no-no (at work).
For PianOli, I'm willing to break that rule, since I think it's an intermediate step on the way to move sound-playing to
PianoCanvas
.The
Canvas
does all the other Android-API-related stuff, whilePiano
is pure coordinate/state-handling if you ignore sounds.I'm thinking
Piano
will end up with some kind of Listener-pattern, where both the Canvas and the AppConfigTrigger listen for keydown-events. However, it's still crystallizing in my brain.In the meanwhile, I wanted to publish these additional tests, since they're useful in and of themselves.