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 }