43 lines
903 B
Kotlin
43 lines
903 B
Kotlin
/*
|
|
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
|
*/
|
|
|
|
package test.utils
|
|
|
|
import kotlin.test.*
|
|
|
|
private class Box(val value: Int)
|
|
|
|
class ScopeFunctionsTest {
|
|
@Test
|
|
fun testLet() {
|
|
val box = Box(42)
|
|
assertEquals(42, box.let { it.value })
|
|
}
|
|
|
|
@Test
|
|
fun testWith() {
|
|
val box = Box(42)
|
|
assertEquals(42, with(box) { value })
|
|
}
|
|
|
|
@Test
|
|
fun testRun() {
|
|
assertEquals(42, run { 42 })
|
|
val box = Box(42)
|
|
assertEquals(42, box.run { value })
|
|
}
|
|
|
|
@Test
|
|
fun testApply() {
|
|
val box = Box(42)
|
|
assertEquals(box, box.apply { value })
|
|
}
|
|
|
|
@Test
|
|
fun testAlso() {
|
|
val box = Box(42)
|
|
assertEquals(box, box.also { it.value })
|
|
}
|
|
} |