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.
In this pull request, I added systematic test cases for most options of
render_labels
.Test matrix
I ran into a couple of issues with options for which I could not find any tests. I think these are not super rare edge cases, but can easily be triggered using valid options with just a different dataset, or a combination of valid options which was assumed to just work. For example, existing tests cover a SpatialData with 1 labels image that is rendered, but not SpatialData with multiple of which only one is rendered (seems a very common case).
Ideally, we would have a test matrix:
(supported cases of input datasets) × (supported combinations of options)
For each input data or option, we should not only test the expected "average" case or a value in the middle of a value range, but also those equivalent classes which the documentation allows. For example if an option can take the value 0, it is very interesting to know whether the code still behaves well with it.
In the attached tests, I have cases for:
In the case of SpatialData, the matrix should have more dimensions:
(element type) × (single-scale/multiscale) × (in-memory/backed) …
These are already tested individually, but in combination they have bugs.
Draft
This is still a draft. The following still needs to be done: