Yuito-app-android/app/src/test/java/com/keylesspalace/tusky/StringUtilsTest.kt

79 lines
2.4 KiB
Kotlin

package com.keylesspalace.tusky
import com.keylesspalace.tusky.util.dec
import com.keylesspalace.tusky.util.inc
import com.keylesspalace.tusky.util.isLessThan
import com.keylesspalace.tusky.util.isLessThanOrEqual
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
class StringUtilsTest {
@Test
fun isLessThan() {
val lessList = listOf(
"abc" to "bcd",
"ab" to "abc",
"cb" to "abc",
"1" to "2"
)
lessList.forEach { (l, r) -> assertTrue("$l < $r", l.isLessThan(r)) }
val notLessList = lessList.map { (l, r) -> r to l } + listOf(
"abc" to "abc"
)
notLessList.forEach { (l, r) -> assertFalse("not $l < $r", l.isLessThan(r)) }
}
@Test
fun isLessThanOrEqual() {
val lessList = listOf(
"abc" to "bcd",
"ab" to "abc",
"cb" to "abc",
"1" to "2",
"abc" to "abc",
)
lessList.forEach { (l, r) -> assertTrue("$l < $r", l.isLessThanOrEqual(r)) }
val notLessList = lessList.filterNot { (l, r) -> l == r }.map { (l, r) -> r to l }
notLessList.forEach { (l, r) -> assertFalse("not $l < $r", l.isLessThanOrEqual(r)) }
}
@Test
fun inc() {
listOf(
"10786565059022968z" to "107865650590229690",
"122" to "123",
"12A" to "12B",
"11z" to "120",
"0zz" to "100",
"zz" to "000",
"4zzbz" to "4zzc0",
"" to "0",
"1" to "2",
"0" to "1",
"AGdxwSQqT3pW4xrLJA" to "AGdxwSQqT3pW4xrLJB",
"AGdfqi1HnlBFVl0tkz" to "AGdfqi1HnlBFVl0tl0"
).forEach { (l, r) -> assertEquals("$l + 1 = $r", r, l.inc()) }
}
@Test
fun dec() {
listOf(
"" to "",
"107865650590229690" to "10786565059022968z",
"123" to "122",
"12B" to "12A",
"120" to "11z",
"100" to "0zz",
"000" to "zz",
"4zzc0" to "4zzbz",
"0" to "",
"2" to "1",
"1" to "0",
"AGdxwSQqT3pW4xrLJB" to "AGdxwSQqT3pW4xrLJA",
"AGdfqi1HnlBFVl0tl0" to "AGdfqi1HnlBFVl0tkz"
).forEach { (l, r) -> assertEquals("$l - 1 = $r", r, l.dec()) }
}
}