Commit 5a02996e authored by Andy Wilkinson's avatar Andy Wilkinson

Fix release train version's comparison with other version types

Fixes gh-24782
parent c5d4ca93
/*
* Copyright 2012-2020 the original author or authors.
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -48,7 +48,7 @@ final class ReleaseTrainDependencyVersion implements DependencyVersion {
@Override
public int compareTo(DependencyVersion other) {
if (!(other instanceof ReleaseTrainDependencyVersion)) {
return 0;
return -1;
}
ReleaseTrainDependencyVersion otherReleaseTrain = (ReleaseTrainDependencyVersion) other;
int comparison = this.releaseTrain.compareTo(otherReleaseTrain.releaseTrain);
......
/*
* Copyright 2012-2020 the original author or authors.
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -92,6 +92,14 @@ public class ReleaseTrainDependencyVersionTests {
assertThat(version("Kay-SR6").isSameMinorAndNewerThan(version("Kay-SR7"))).isFalse();
}
@Test
void whenComparedWithADifferentDependencyVersionTypeThenTheResultsAreNonZero() {
ReleaseTrainDependencyVersion dysprosium = ReleaseTrainDependencyVersion.parse("Dysprosium-SR16");
ArtifactVersionDependencyVersion twentyTwenty = ArtifactVersionDependencyVersion.parse("2020.0.0");
assertThat(dysprosium.compareTo(twentyTwenty)).isLessThan(0);
assertThat(twentyTwenty.compareTo(dysprosium)).isGreaterThan(0);
}
private static ReleaseTrainDependencyVersion version(String input) {
return ReleaseTrainDependencyVersion.parse(input);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment