diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-11-18 15:59:58 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-11-18 15:59:58 +0100 |
commit | f78805f93d30b3b89449ac3e14bad095e0bf2cd2 (patch) | |
tree | 97859f364b43bfbbeb0280874b8f124aab8a8126 /component/src | |
parent | 00c98abad2d7a98e8a16c5cbd4d3773720a90a54 (diff) |
Include qualifier in isAfter/isBefore comparison
Diffstat (limited to 'component/src')
-rw-r--r-- | component/src/main/java/com/yahoo/component/Version.java | 18 | ||||
-rw-r--r-- | component/src/test/java/com/yahoo/component/VersionTestCase.java | 8 |
2 files changed, 17 insertions, 9 deletions
diff --git a/component/src/main/java/com/yahoo/component/Version.java b/component/src/main/java/com/yahoo/component/Version.java index 7c98af55be3..54a5dfed94a 100644 --- a/component/src/main/java/com/yahoo/component/Version.java +++ b/component/src/main/java/com/yahoo/component/Version.java @@ -347,17 +347,21 @@ public final class Version implements Comparable<Version> { return getQualifier().compareTo(other.getQualifier()); } - - /** Returns whether this version number (ignoring qualifier) is strictly lower than the given version */ + + /** + * Returns whether this version number is strictly lower than the given version. This has the same semantics as + * {@link this#compareTo}. + */ public boolean isBefore(Version other) { - if (this.major == other.major && this.minor == other.minor) return this.micro < other.micro; - if (this.major == other.major) return this.minor < other.minor; - return this.major < other.major; + return compareTo(other) < 0; } - /** Returns whether this version number (ignoring qualifier) is strictly higher than the given version */ + /** + * Returns whether this version number is strictly higher than the given version. This has the same semantics as + * {@link this#compareTo}. + */ public boolean isAfter(Version other) { - return ! this.isBefore(other) && ! this.equals(other); + return compareTo(other) > 0; } /** Creates a version specification that only matches this version */ diff --git a/component/src/test/java/com/yahoo/component/VersionTestCase.java b/component/src/test/java/com/yahoo/component/VersionTestCase.java index 10862046dcb..9e4e8a5c702 100644 --- a/component/src/test/java/com/yahoo/component/VersionTestCase.java +++ b/component/src/test/java/com/yahoo/component/VersionTestCase.java @@ -93,11 +93,11 @@ public class VersionTestCase { public void testOrder() { assertTrue(new Version("1.2.3").compareTo(new Version("1.2.3"))==0); assertTrue(new Version("1.2.3").compareTo(new Version("1.2.4"))<0); + assertTrue(new Version("1.2.3").compareTo(new Version("1.2.3.foo"))<0); assertTrue(new Version("1.2.3").compareTo(new Version("1.2.2"))>0); - + assertTrue(new Version("1.2.3.foo").compareTo(new Version("1.2.3"))>0); assertTrue(new Version("1.2.3").compareTo(new Version("2"))<0); assertTrue(new Version("1.2.3").compareTo(new Version("1.3"))<0); - assertTrue(new Version("1.0.0").compareTo(new Version("1"))==0); } @@ -107,9 +107,11 @@ public class VersionTestCase { assertFalse(new Version("1.2.3").isBefore(new Version("1.1.3"))); assertFalse(new Version("1.2.3").isBefore(new Version("1.2.2"))); assertFalse(new Version("1.2.3").isBefore(new Version("1.2.3"))); + assertFalse(new Version("1.2.3.foo").isBefore(new Version("1.2.3"))); assertTrue( new Version("1.2.3").isBefore(new Version("1.2.4"))); assertTrue( new Version("1.2.3").isBefore(new Version("1.3.3"))); assertTrue( new Version("1.2.3").isBefore(new Version("2.2.3"))); + assertTrue( new Version("1.2.3").isBefore(new Version("1.2.3.foo"))); } @Test @@ -117,10 +119,12 @@ public class VersionTestCase { assertTrue( new Version("1.2.3").isAfter(new Version("0.2.3"))); assertTrue( new Version("1.2.3").isAfter(new Version("1.1.3"))); assertTrue( new Version("1.2.3").isAfter(new Version("1.2.2"))); + assertTrue( new Version("1.2.3.foo").isAfter(new Version("1.2.3"))); assertFalse(new Version("1.2.3").isAfter(new Version("1.2.3"))); assertFalse(new Version("1.2.3").isAfter(new Version("1.2.4"))); assertFalse(new Version("1.2.3").isAfter(new Version("1.3.3"))); assertFalse(new Version("1.2.3").isAfter(new Version("2.2.3"))); + assertFalse(new Version("1.2.3").isAfter(new Version("1.2.3.foo"))); } } |