Added test for inner class
diff --git a/atomicfu-test/src/main/kotlin/kotlinx/atomicfu/test/LockFreeLongCounter.kt b/atomicfu-test/src/main/kotlin/kotlinx/atomicfu/test/LockFreeLongCounter.kt
index 1bfb350..2cf8082 100644
--- a/atomicfu-test/src/main/kotlin/kotlinx/atomicfu/test/LockFreeLongCounter.kt
+++ b/atomicfu-test/src/main/kotlin/kotlinx/atomicfu/test/LockFreeLongCounter.kt
@@ -7,7 +7,12 @@
fun get(): Long = counter.value
- fun increment(): Long {
- return counter.incrementAndGet()
+ fun increment(): Long = counter.incrementAndGet()
+
+ fun getInner(): Long = Inner().getFromOuter()
+
+ // testing how an inner class can get access to it
+ private inner class Inner {
+ fun getFromOuter(): Long = counter.value
}
}
\ No newline at end of file
diff --git a/atomicfu-test/src/test/kotlin/kotlinx/atomicfu/test/LockFreeLongCounterTest.kt b/atomicfu-test/src/test/kotlin/kotlinx/atomicfu/test/LockFreeLongCounterTest.kt
index 97d9997..2ff898d 100644
--- a/atomicfu-test/src/test/kotlin/kotlinx/atomicfu/test/LockFreeLongCounterTest.kt
+++ b/atomicfu-test/src/test/kotlin/kotlinx/atomicfu/test/LockFreeLongCounterTest.kt
@@ -3,13 +3,18 @@
import org.junit.Test
class LockFreeLongCounterTest {
- @Test
- fun testBasic() {
+ private inline fun testWith(g: LockFreeLongCounter.() -> Long) {
val c = LockFreeLongCounter()
- check(c.get() == 0L)
+ check(c.g() == 0L)
check(c.increment() == 1L)
- check(c.get() == 1L)
+ check(c.g() == 1L)
check(c.increment() == 2L)
- check(c.get() == 2L)
+ check(c.g() == 2L)
}
+
+ @Test
+ fun testBasic() = testWith { get() }
+
+ @Test
+ fun testGetInner() = testWith { getInner() }
}
\ No newline at end of file