add test for VersionUtils (#1602)

* add test for VersionUtils

* add nullability annotation to VersionUtils
This commit is contained in:
Konrad Pozniak 2019-12-21 18:56:30 +01:00 committed by GitHub
parent c44dd455b4
commit ce2ee660ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 1 deletions

View file

@ -15,6 +15,8 @@
package com.keylesspalace.tusky.util;
import androidx.annotation.NonNull;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -24,7 +26,7 @@ public class VersionUtils {
private int minor;
private int patch;
public VersionUtils(String versionString) {
public VersionUtils(@NonNull String versionString) {
String regex = "([0-9]+)\\.([0-9]+)\\.([0-9]+).*";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(versionString);

View file

@ -0,0 +1,36 @@
package com.keylesspalace.tusky.util
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
@RunWith(Parameterized::class)
class VersionUtilsTest(
private val versionString: String,
private val supportsScheduledToots: Boolean
) {
companion object {
@JvmStatic
@Parameterized.Parameters
fun data() = listOf(
arrayOf("2.0.0", false),
arrayOf("2a9a0", false),
arrayOf("1.0", false),
arrayOf("error", false),
arrayOf("", false),
arrayOf("2.6.9", false),
arrayOf("2.7.0", true),
arrayOf("2.00008.0", true),
arrayOf("2.7.2 (compatible; Pleroma 1.0.0-1168-ge18c7866-pleroma-dot-site)", true),
arrayOf("3.0.1", true)
)
}
@Test
fun testVersionUtils() {
assertEquals(VersionUtils(versionString).supportsScheduledToots(), supportsScheduledToots)
}
}