/* * 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 }) } }