is_between: name the offending type of the end argument, not the start argument#1320
Open
HrachShah wants to merge 1 commit into
Open
is_between: name the offending type of the end argument, not the start argument#1320HrachShah wants to merge 1 commit into
HrachShah wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1320 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 10 10
Lines 2315 2315
Branches 358 358
=========================================
Hits 2315 2315 ☔ View full report in Codecov by Harness. |
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
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.
What
Arrow.is_betweenraises aTypeErrorwhenstartorendis not anArrowinstance. The check forendformats the error message usingtype(start)instead oftype(end), so the message misleads the user when onlyendis wrong.Why
The first
TypeErrorforstartcorrectly names the offending type (the user passed something that wasn't anArrow). The secondTypeErrorforendwas a copy-paste that re-usestype(start)— so ifstartis a perfectly validArrowand the user passes adatetimeasend, the error saysCannot parse end date argument type of <class 'arrow.arrow.Arrow'>., which is confusing.Fix
Use
type(end)in the second error message so it accurately describes the offending argument.Tests
Added
test_is_between_error_message_mentions_end_typetotests/test_arrow.py::TestArrowIsBetweenthat passes adatetimeforendand asserts the error message mentionsendanddatetimeand does not mentionArrow. All 226 tests intests/test_arrow.pypass.