Files
kotlin-fork/plugins/atomicfu/atomicfu-compiler/testData/nativeBox/atomics_basic/MultiInitTest.kt
T

33 lines
727 B
Kotlin
Vendored

// TODO(KT-65977): reenable these tests with caches
//IGNORE_NATIVE: cacheMode=STATIC_EVERYWHERE
//IGNORE_NATIVE: cacheMode=STATIC_PER_FILE_EVERYWHERE
import kotlinx.atomicfu.*
import kotlin.test.*
class MultiInitTest {
fun testBasic() {
val t = MultiInit()
check(t.incA() == 1)
check(t.incA() == 2)
check(t.incB() == 1)
check(t.incB() == 2)
}
}
class MultiInit {
private val a = atomic(0)
private val b = atomic(0)
fun incA() = a.incrementAndGet()
fun incB() = b.incrementAndGet()
companion object {
fun foo() {} // just to force some clinit in outer file
}
}
@Test
fun box() {
val testClass = MultiInitTest()
testClass.testBasic()
}