From 98609f39b2cbacefc4b996197af7f6d7a6e99b0a Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Thu, 26 Feb 2015 15:56:51 +0000 Subject: [PATCH] Add invertible toString() to Version --- .../spring/initializr/support/Version.groovy | 6 +++++- .../initializr/support/VersionTests.groovy | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/initializr/src/main/groovy/io/spring/initializr/support/Version.groovy b/initializr/src/main/groovy/io/spring/initializr/support/Version.groovy index 99e16423..83b7c80a 100644 --- a/initializr/src/main/groovy/io/spring/initializr/support/Version.groovy +++ b/initializr/src/main/groovy/io/spring/initializr/support/Version.groovy @@ -36,7 +36,6 @@ import org.springframework.util.Assert * @author Stephane Nicoll * @since 1.0 */ -@ToString @EqualsAndHashCode class Version implements Comparable { @@ -48,6 +47,11 @@ class Version implements Comparable { Integer minor Integer patch Qualifier qualifier + + @Override + public String toString() { + "${major}.${minor}.${patch}" + (qualifier?".${qualifier.qualifier}${qualifier.version?:''}" : '') + } /** * Parse the string representation of a {@link Version}. Throws an diff --git a/initializr/src/test/groovy/io/spring/initializr/support/VersionTests.groovy b/initializr/src/test/groovy/io/spring/initializr/support/VersionTests.groovy index b178d93b..37da1c2f 100644 --- a/initializr/src/test/groovy/io/spring/initializr/support/VersionTests.groovy +++ b/initializr/src/test/groovy/io/spring/initializr/support/VersionTests.groovy @@ -34,6 +34,24 @@ class VersionTests { @Rule public final ExpectedException thrown = ExpectedException.none() + @Test + void noQualifierString() { + def version = parse('1.2.0') + assertThat(version.toString(), equalTo('1.2.0')) + } + + @Test + void withQualifierString() { + def version = parse('1.2.0.RELEASE') + assertThat(version.toString(), equalTo('1.2.0.RELEASE')) + } + + @Test + void withQualifierAndVersionString() { + def version = parse('1.2.0.RC2') + assertThat(version.toString(), equalTo('1.2.0.RC2')) + } + @Test void equalNoQualifier() { def first = parse('1.2.0')