xref: /aosp_15_r20/external/kotlinx.atomicfu/atomicfu/src/commonTest/kotlin/internal_test1/B.kt (revision 68017707106cb9da9fed635c150bc497c09c160f)
1 /*
2  * Copyright 2017-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
3  */
4 
5 package internal_test1
6 
7 import bytecode_test.c
8 import kotlinx.atomicfu.test.A
9 import kotlinx.atomicfu.test.internalTopLevelField
10 import kotlinx.atomicfu.test.publicTopLevelField
11 import kotlin.test.*
12 
13 class B {
14     @Test
testInternalnull15     fun testInternal() {
16         val a = A()
17         a.internalField.lazySet(true)
18         assertEquals(true, a.internalField.value)
19         check(a.internalField.getAndSet(false))
20         assertEquals(false, a.internalField.value)
21         check(a.xxx.addAndGet(4) == 9)
22         assertEquals(9, a.xxx.value)
23         check(a.yyy.compareAndSet(638753975930025820, 3444))
24         assertEquals(3444, a.yyy.value)
25         check(a.intArr[2].compareAndSet(0, 6))
26         assertEquals(6, a.intArr[2].value)
27         check(a.refArr[3].compareAndSet(null, "OK"))
28         assertEquals("OK", a.refArr[3].value)
29     }
30 
31     @Test
testInternalTopLevelnull32     fun testInternalTopLevel() {
33         internalTopLevelField.lazySet(55)
34         check(internalTopLevelField.value == 55)
35         check(publicTopLevelField.compareAndSet(0, 66))
36         check(publicTopLevelField.value == 66)
37         check(c.getAndSet(145) == 0)
38     }
39 }
40 
41 class D {
42     val da = A()
43 }