Skip to content
Snippets Groups Projects
Unverified Commit bbf8c69b authored by Hee Tatt Ooi's avatar Hee Tatt Ooi Committed by GitHub
Browse files

bugfix for version check (#298)

* bugfix for version check

* added comment

* merged if conditions

* newline to reduce line length
parent 517c94d1
No related branches found
No related tags found
No related merge requests found
package de.rki.coronawarnapp.update package de.rki.coronawarnapp.update
/**
* Helper to compare 2 version strings
*/
object VersionComparator { object VersionComparator {
/**
* Checks if currentVersion is older than versionToCompareTo
*
* Expected input format: <major>.<minor>.<patch>
* major, minor and patch are Int
*
* @param currentVersion
* @param versionToCompareTo
* @return true if currentVersion is older than versionToCompareTo, else false
*/
fun isVersionOlder(currentVersion: String, versionToCompareTo: String): Boolean { fun isVersionOlder(currentVersion: String, versionToCompareTo: String): Boolean {
var isVersionOlder = false var isVersionOlder = false
...@@ -19,12 +32,15 @@ object VersionComparator { ...@@ -19,12 +32,15 @@ object VersionComparator {
if (versionToCompareMajor > currentVersionMajor) { if (versionToCompareMajor > currentVersionMajor) {
isVersionOlder = true isVersionOlder = true
} else if (versionToCompareMinor > currentVersionMinor) { } else if (versionToCompareMajor == currentVersionMajor) {
isVersionOlder = true if (versionToCompareMinor > currentVersionMinor) {
} else if (versionToComparePatch > currentVersionPatch) { isVersionOlder = true
isVersionOlder = true } else if ((versionToCompareMinor == currentVersionMinor) &&
(versionToComparePatch > currentVersionPatch)
) {
isVersionOlder = true
}
} }
return isVersionOlder return isVersionOlder
} }
} }
...@@ -4,7 +4,7 @@ import org.hamcrest.MatcherAssert.assertThat ...@@ -4,7 +4,7 @@ import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.`is` import org.hamcrest.Matchers.`is`
import org.junit.Test import org.junit.Test
class VerificationServiceTest { class VersionComparatorTest {
@Test @Test
fun testVersionMajorOlder() { fun testVersionMajorOlder() {
...@@ -47,4 +47,16 @@ class VerificationServiceTest { ...@@ -47,4 +47,16 @@ class VerificationServiceTest {
val result = VersionComparator.isVersionOlder("1.0.1", "1.0.1") val result = VersionComparator.isVersionOlder("1.0.1", "1.0.1")
assertThat(result, `is`(false)) assertThat(result, `is`(false))
} }
@Test
fun testIfMajorIsNewerButMinorSmallerNumber() {
val result = VersionComparator.isVersionOlder("3.1.0", "1.2.0")
assertThat(result, `is`(false))
}
@Test
fun testIfMinorIsNewerButPatchSmallerNumber() {
val result = VersionComparator.isVersionOlder("1.3.1", "1.2.4")
assertThat(result, `is`(false))
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment