aboutsummaryrefslogtreecommitdiff
path: root/app/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/test')
-rw-r--r--app/src/test/kotlin/com/pitchedapps/frost/kotlin/FlyweightTest.kt18
1 files changed, 7 insertions, 11 deletions
diff --git a/app/src/test/kotlin/com/pitchedapps/frost/kotlin/FlyweightTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/kotlin/FlyweightTest.kt
index 79f81002..d1d976b6 100644
--- a/app/src/test/kotlin/com/pitchedapps/frost/kotlin/FlyweightTest.kt
+++ b/app/src/test/kotlin/com/pitchedapps/frost/kotlin/FlyweightTest.kt
@@ -16,8 +16,8 @@
*/
package com.pitchedapps.frost.kotlin
+import kotlinx.coroutines.CancellationException
import kotlinx.coroutines.GlobalScope
-import kotlinx.coroutines.async
import kotlinx.coroutines.runBlocking
import org.junit.Rule
import org.junit.rules.Timeout
@@ -25,6 +25,7 @@ import java.util.concurrent.atomic.AtomicInteger
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
+import kotlin.test.assertFalse
import kotlin.test.assertTrue
import kotlin.test.fail
@@ -42,7 +43,7 @@ class FlyweightTest {
@BeforeTest
fun before() {
callCount = AtomicInteger(0)
- flyweight = Flyweight(GlobalScope, 100, 200L) {
+ flyweight = Flyweight(GlobalScope, 200L) {
callCount.incrementAndGet()
when (it) {
LONG_RUNNING_KEY -> Thread.sleep(100000)
@@ -97,24 +98,19 @@ class FlyweightTest {
@Test
fun destroy() {
runBlocking {
- val longRunningResult = async { flyweight.fetch(LONG_RUNNING_KEY) }
+ val longRunningResult = flyweight.fetch(LONG_RUNNING_KEY)
flyweight.fetch(1).await()
flyweight.cancel()
try {
flyweight.fetch(1).await()
fail("Flyweight should not be fulfilled after it is destroyed")
- } catch (e: Exception) {
- assertEquals("Flyweight is not active", e.message, "Incorrect error found on fetch after destruction")
+ } catch (ignore: CancellationException) {
}
try {
+ assertFalse(longRunningResult.isActive, "Long running result should no longer be active")
longRunningResult.await()
fail("Flyweight should have cancelled previously running requests")
- } catch (e: Exception) {
- assertEquals(
- "Flyweight cancelled",
- e.message,
- "Incorrect error found on fetch cancelled by destruction"
- )
+ } catch (ignore: CancellationException) {
}
}
}