Fix Version.hashCode() to comply w/ Version.equals()
This commit is contained in:
parent
f79bf59b0c
commit
591b18339e
|
@ -522,7 +522,6 @@ public class Version implements Comparable<Version> {
|
||||||
int hash = 5;
|
int hash = 5;
|
||||||
hash = 97 * hash + normal.hashCode();
|
hash = 97 * hash + normal.hashCode();
|
||||||
hash = 97 * hash + preRelease.hashCode();
|
hash = 97 * hash + preRelease.hashCode();
|
||||||
hash = 97 * hash + build.hashCode();
|
|
||||||
return hash;
|
return hash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -361,14 +361,21 @@ public class VersionTest {
|
||||||
Version v2 = null;
|
Version v2 = null;
|
||||||
assertFalse(v1.equals(v2));
|
assertFalse(v1.equals(v2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void shouldIgnoreBuildMetadataWhenCheckingForEquality() {
|
||||||
|
Version v1 = Version.valueOf("2.3.7-beta+build");
|
||||||
|
Version v2 = Version.valueOf("2.3.7-beta");
|
||||||
|
assertTrue(v1.equals(v2));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class HashCodeMethodTest {
|
public static class HashCodeMethodTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldReturnSameHashCodeIfVersionsAreEqual() {
|
public void shouldReturnSameHashCodeIfVersionsAreEqual() {
|
||||||
Version v1 = Version.valueOf("2.3.7");
|
Version v1 = Version.valueOf("2.3.7-beta+build");
|
||||||
Version v2 = Version.valueOf("2.3.7");
|
Version v2 = Version.valueOf("2.3.7-beta");
|
||||||
assertTrue(v1.equals(v2));
|
assertTrue(v1.equals(v2));
|
||||||
assertEquals(v1.hashCode(), v2.hashCode());
|
assertEquals(v1.hashCode(), v2.hashCode());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user