From e0e66edae2925ad8dba4f052b712a9b6f13fb6cc Mon Sep 17 00:00:00 2001 From: Georg Berky Date: Mon, 16 May 2022 18:02:59 +0200 Subject: [PATCH] #43 Add test for isAlreadyLatestVersion Co-Authored-By: Sandra Parsick --- .../maven/plugins/depsupdate/GitProvider.kt | 2 +- .../maven/plugins/depsupdate/VersionUpdate.kt | 1 - .../plugins/depsupdate/VersionUpdateTest.kt | 57 +++++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 src/test/kotlin/io/github/georgberky/maven/plugins/depsupdate/VersionUpdateTest.kt diff --git a/src/main/kotlin/io/github/georgberky/maven/plugins/depsupdate/GitProvider.kt b/src/main/kotlin/io/github/georgberky/maven/plugins/depsupdate/GitProvider.kt index 268b9bb..c31a398 100644 --- a/src/main/kotlin/io/github/georgberky/maven/plugins/depsupdate/GitProvider.kt +++ b/src/main/kotlin/io/github/georgberky/maven/plugins/depsupdate/GitProvider.kt @@ -9,4 +9,4 @@ interface GitProvider : AutoCloseable { fun commit(author: String, email: String, message: String) fun push(localBranchName: String) fun checkoutInitialBranch() -} \ No newline at end of file +} diff --git a/src/main/kotlin/io/github/georgberky/maven/plugins/depsupdate/VersionUpdate.kt b/src/main/kotlin/io/github/georgberky/maven/plugins/depsupdate/VersionUpdate.kt index 3eaaa20..b964a6c 100644 --- a/src/main/kotlin/io/github/georgberky/maven/plugins/depsupdate/VersionUpdate.kt +++ b/src/main/kotlin/io/github/georgberky/maven/plugins/depsupdate/VersionUpdate.kt @@ -16,5 +16,4 @@ abstract class VersionUpdate( println("latestVersion.equals(version) = ${latestVersion.equals(version)}") return latestVersion != "null" && latestVersion != version } - } diff --git a/src/test/kotlin/io/github/georgberky/maven/plugins/depsupdate/VersionUpdateTest.kt b/src/test/kotlin/io/github/georgberky/maven/plugins/depsupdate/VersionUpdateTest.kt new file mode 100644 index 0000000..2edd24c --- /dev/null +++ b/src/test/kotlin/io/github/georgberky/maven/plugins/depsupdate/VersionUpdateTest.kt @@ -0,0 +1,57 @@ +package io.github.georgberky.maven.plugins.depsupdate + +import org.assertj.core.api.Assertions.assertThat +import org.jsoup.nodes.Document +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.Arguments +import org.junit.jupiter.params.provider.Arguments.arguments +import org.junit.jupiter.params.provider.MethodSource +import java.util.stream.Stream + +internal class VersionUpdateTest { + @ParameterizedTest + @MethodSource("sameVersionUpdates") + fun `is latest version returns true if version numbers are the same`(current: String, latest: String) { + val versionUpdate = object : VersionUpdate("someGroupId", "someArtifactId", current, latest) { + override fun updatedPom(): Document { + throw Exception("should not be called") + } + } + + assertThat(versionUpdate.isAlreadyLatestVersion()) + .isTrue() + } + + @ParameterizedTest + @MethodSource("differentVersionUpdates") + fun `is latest version returns false if version numbers differ`(current: String, latest: String) { + val versionUpdate = object : VersionUpdate("someGroupId", "someArtifactId", current, latest) { + override fun updatedPom(): Document { + throw Exception("should not be called") + } + } + + assertThat(versionUpdate.isAlreadyLatestVersion()) + .isFalse() + } + + companion object { + @JvmStatic + fun sameVersionUpdates(): Stream { + return Stream.of( + arguments("1.0.0", "1.0.0"), + arguments("1.1.0", "1.1.0"), + arguments("1.0.1", "1.0.1"), + ) + } + + @JvmStatic + fun differentVersionUpdates(): Stream { + return Stream.of( + arguments("1.0.0", "2.0.0"), + arguments("1.1.0", "2.1.0"), + arguments("1.0.1", "2.0.1"), + ) + } + } +}