Open-source multiplayer game server compatible with the RuneScape client https://www.openrs2.org/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
openrs2/util/src/test/kotlin/org/openrs2/util/collect/IterableUtilsTest.kt

55 lines
1.4 KiB

package org.openrs2.util.collect
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith
import kotlin.test.assertFalse
import kotlin.test.assertNull
import kotlin.test.assertTrue
class IterableUtilsTest {
@Test
fun testRemoveFirst() {
val list = mutableListOf(1, 2, 3)
assertEquals(1, list.removeFirst())
assertEquals(listOf(2, 3), list)
assertEquals(2, list.removeFirst())
assertEquals(listOf(3), list)
assertEquals(3, list.removeFirst())
assertEquals(emptyList(), list)
assertFailsWith<NoSuchElementException> {
list.removeFirst()
}
}
@Test
fun testRemoveFirstOrNull() {
val list = mutableListOf(1, 2, 3)
assertEquals(1, list.removeFirstOrNull())
assertEquals(listOf(2, 3), list)
assertEquals(2, list.removeFirstOrNull())
assertEquals(listOf(3), list)
assertEquals(3, list.removeFirstOrNull())
assertEquals(emptyList(), list)
assertNull(list.removeFirstOrNull())
}
@Test
fun testRemoveFirstMatching() {
val list = mutableListOf(1, 2, 2, 3)
assertTrue(list.removeFirst { it == 2 })
assertEquals(listOf(1, 2, 3), list)
assertTrue(list.removeFirst { it == 2 })
assertEquals(listOf(1, 3), list)
assertFalse(list.removeFirst { it == 2 })
assertEquals(listOf(1, 3), list)
}
}