Merge pull request #1593 from bemusementpark/more-snodes
Optimise SnodeAPI and Add Snode.Version and testspull/1553/merge
commit
d6c5ab2b18
@ -0,0 +1,52 @@
|
||||
package org.session.libsignal.utilities
|
||||
|
||||
import org.hamcrest.MatcherAssert.assertThat
|
||||
import org.hamcrest.core.IsEqual.equalTo
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.runners.Parameterized
|
||||
|
||||
@RunWith(Parameterized::class)
|
||||
class SnodeVersionTest(
|
||||
private val v1: String,
|
||||
private val v2: String,
|
||||
private val expectedEqual: Boolean,
|
||||
private val expectedLessThan: Boolean
|
||||
) {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
@Parameterized.Parameters(name = "{index}: testVersion({0},{1}) = (equalTo: {2}, lessThan: {3})")
|
||||
fun data(): Collection<Array<Any>> = listOf(
|
||||
arrayOf("1", "1", true, false),
|
||||
arrayOf("1", "2", false, true),
|
||||
arrayOf("2", "1", false, false),
|
||||
arrayOf("1.0", "1", true, false),
|
||||
arrayOf("1.0", "1.0.0", true, false),
|
||||
arrayOf("1.0", "1.0.0.0", true, false),
|
||||
arrayOf("1.0", "1.0.0.0.0.0", true, false),
|
||||
arrayOf("2.0", "1.2", false, false),
|
||||
arrayOf("1.0.0.0", "1.0.0.1", false, true),
|
||||
// Snode.Version only considers the first 4 integers, so these are equal
|
||||
arrayOf("1.0.0.0", "1.0.0.0.1", true, false),
|
||||
arrayOf("1.0.0.1", "1.0.0.1", true, false),
|
||||
// parts can be up to 16 bits, around 65,535
|
||||
arrayOf("65535.65535.65535.65535", "65535.65535.65535.65535", true, false),
|
||||
// values higher than this are coerced to 65535 (:
|
||||
arrayOf("65535.65535.65535.65535", "65535.65535.65535.99999", true, false),
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testVersionEqual() {
|
||||
val version1 = Snode.Version(v1)
|
||||
val version2 = Snode.Version(v2)
|
||||
assertThat(version1 == version2, equalTo(expectedEqual))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testVersionOnePartLessThan() {
|
||||
val version1 = Snode.Version(v1)
|
||||
val version2 = Snode.Version(v2)
|
||||
assertThat(version1 < version2, equalTo(expectedLessThan))
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue