-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
[MNG-7700] test some edge cases with leading zeroes #1014
Conversation
newComparable("0-1"); | ||
|
||
ComparableVersion version = new ComparableVersion("0.x"); | ||
assertEquals("x", version.getCanonical()); |
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 still don't understand why this should not be 0 with x
as qualifier.
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.
We never define or promise anything about the canonical representation of a ComparableVersion. Indeed, this method probably shouldn't have been public. All we promise is that two of them compare according to spec, and as best I can tell they do. For now this is just a characterization test of existing behavior. I'm leaving MNG-7700 open in case folks feel we should change the canonical representation. However neither that issue nor this PR needs to block the release.
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.
Depressing...
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.
This is not really a useful test. You're just testing that the output is what the output is. If you do this instead, you'll see that the "canonical" version is not really a canonical version at all:
ComparableVersion version = new ComparableVersion("0.x");
ComparableVersion canonical = new ComparableVersion(version.getCanonical());
assertEquals(canonical, version); // actually see if the *versions* are equal
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'm testing that the input produces the output. That is useful. There's a case to be made that the current behavior is wrong, which can be discussed on the bug. If we decide it is and change it, then having this test here will make it clear what changed when.
The test you suggest is also good. However, it's (not so obviously) performed in line 220 by newComparable("0.x")
which includes an assert to check that.
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'd like to merge this so I can proceed on top of it to investigate MNG-7714 which will need some more tests in these files.
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.
Fixup and merge please.
please remember to close associated jira |
See above. That Issue should not be closed because of this PR. JIRA issues and PRs have a many-to-many relationship. A PR can address more than one JIRA issue and a JIRA issue often requires more than one PR to fix. |
Also clean up docs, generics, and comparisons