summaryrefslogtreecommitdiff
path: root/formats/json/jvmTest/src/kotlinx/serialization/json/ParallelJsonStressTest.kt
blob: 3901aabecf415be0201d2c2092d1dce27d633d39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package kotlinx.serialization.json

import kotlinx.coroutines.*
import kotlinx.serialization.builtins.*
import kotlinx.serialization.test.*
import org.junit.*
import kotlin.concurrent.*
import kotlin.random.*

class ParallelJsonStressTest : JsonTestBase() {
    private val iterations = 1_000_000

    @Test
    fun testDecodeInParallel() = runBlocking<Unit> {
        for (i in 1..1000) {
            launch(Dispatchers.Default) {
                val value = (1..10000).map { Random.nextDouble() }
                assertSerializedAndRestored(value, ListSerializer(Double.serializer()))
            }
        }
    }
}