1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 00:17:11 -07:00

Distinct.

This commit is contained in:
Cedric Beust 2017-03-21 23:48:03 -07:00
parent 8b192e31bf
commit 47bdbf04ee
3 changed files with 77 additions and 2 deletions

View file

@ -1,10 +1,12 @@
package com.beust.kobalt.internal
import com.beust.kobalt.misc.StringVersion
import com.beust.kobalt.misc.Versions
import org.assertj.core.api.Assertions.assertThat
import org.testng.annotations.DataProvider
import org.testng.annotations.Test
/**
* Make sure we parse version numbers correctly.
*/
@ -22,4 +24,40 @@ class VersionTest {
fun versionConversionShouldWork(version: String, expected: Long) {
assertThat(Versions.toLongVersion(version)).isEqualTo(expected)
}
@DataProvider
fun versionsEqual() : Array<Array<String>>
= arrayOf(
arrayOf("1", "1"),
arrayOf("1.0", "1"),
arrayOf("1.0.0", "1"),
arrayOf("1.0", "1.0.0")
)
@Test(dataProvider = "versionsEqual")
fun versionComparisonsEqual(v1: String, v2: String) {
assertThat(StringVersion(v1).compareTo(v2)).isEqualTo(StringVersion.Compare.EQ)
assertThat(StringVersion(v2).compareTo(v1)).isEqualTo(StringVersion.Compare.EQ)
}
@DataProvider
fun versionsNotEqual() : Array<Array<Any>>
= arrayOf(
arrayOf("1", "1.2.3", StringVersion.Compare.LT),
arrayOf("1.2", "1.2.3", StringVersion.Compare.LT),
arrayOf("1.2.2", "1.2.3", StringVersion.Compare.LT),
arrayOf("1.2.4", "1.2.3", StringVersion.Compare.GT),
arrayOf("1", "1.2.3.4", StringVersion.Compare.LT),
arrayOf("1.2", "1.2.3.4", StringVersion.Compare.LT),
arrayOf("1.2.3", "1.2.3.4", StringVersion.Compare.LT),
arrayOf("1.2.3.3", "1.2.3.4", StringVersion.Compare.LT),
arrayOf("1.2.3.5", "1.2.3.4", StringVersion.Compare.GT)
)
@Test(dataProvider = "versionsNotEqual")
fun versionComparisonsNotEqual(v1: String, v2: String, expected: StringVersion.Compare) {
assertThat(StringVersion(v1).compareTo(v2)).isEqualTo(expected)
assertThat(StringVersion(v2).compareTo(v1)).isEqualTo(
if (expected == StringVersion.Compare.LT) StringVersion.Compare.GT else StringVersion.Compare.LT)
}
}