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.
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
Fix and extend Geotiff IFD handling to allow all integer types #1341
Fix and extend Geotiff IFD handling to allow all integer types #1341
Changes from 2 commits
bbdf615
07e9ec3
610b1fb
ec4f996
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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 personally don't like this reflection solution for testing private methods. First, in general, private methods should not be tested, though I understand that in practice some classes would need big refactors to make the public API unit testable. Second, I think it makes the test harder to read. And finally, if someone were to rename
writeIntValue
, the compiler would not catch an issue here, you would just getNoSuchMethodException
.Is there any reasonable way to test the public API of
GeoTiff
instead? I am not as familiar with the code, so I am not sure how feasible this is. If not, I propose to make the methodwriteIntValue
package private so you can test it without reflection. Also not a perfect solution, but I think it is slightly nicer.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.
Coming from python, the idea that one shouldn't test private methods is completely foreign to me. Unfortunately, with the way the GeoTiff class is designed, it would be difficult to not only construct the many geotiffs instances with the appropriate data types and ranges, but to then subsequently test that it was encoded correctly. The test would have a huge amount of unrelated setup that would make the test difficult to read and understand.
I am totally fine with changing it to be package private. We could even go a step further and make them static as they do not interact with any class members.