Skip to content

Commit

Permalink
Add a test for the collection overload
Browse files Browse the repository at this point in the history
  • Loading branch information
ansman committed Nov 16, 2021
1 parent 1fc7af7 commit 75fb813
Showing 1 changed file with 27 additions and 0 deletions.
@@ -0,0 +1,27 @@
package kotlinx.serialization

import kotlinx.serialization.builtins.ListSerializer
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.*
import kotlinx.serialization.json.*
import kotlin.test.*

class EncodingCollectionsTest {
object ListSerializer : KSerializer<List<String>> {
override val descriptor: SerialDescriptor = ListSerializer(String.serializer()).descriptor

override fun serialize(encoder: Encoder, value: List<String>) {
encoder.encodeCollection(descriptor, value) { index, item ->
encodeStringElement(descriptor, index, item)
}
}

override fun deserialize(decoder: Decoder): List<String> = throw NotImplementedError()
}

@Test
fun testEncoding() {
assertEquals("""["Hello","World!"]""", Json.encodeToString(ListSerializer, listOf("Hello", "World!")))
}
}

0 comments on commit 75fb813

Please sign in to comment.