Add shape check to MultiDiscrete __eq__ (#1044) #1045
Merged
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.
Description
The
__eq__
method in the MultiDiscrete space needs to also check the shape of nvec before the equivalence check. If the shapes are not the same, numpy will throw a ValueError saying operands could not be broadcast together.The fix here is to simply include a check of the shape before the nvec equivalence check.
Fixes #1044
I included a handful of tests for checking if MultiDiscrete spaces are equivalent or not. Including a test with different shaped nvecs that would have errored before these changes.
Type of change
Please delete options that are not relevant.
Checklist:
pre-commit
checks withpre-commit run --all-files
(seeCONTRIBUTING.md
instructions to set it up)