• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download

<lambda>null1 package kotlinx.serialization
2 
3 import kotlinx.serialization.builtins.ListSerializer
4 import kotlinx.serialization.builtins.serializer
5 import kotlinx.serialization.descriptors.*
6 import kotlinx.serialization.encoding.*
7 import kotlinx.serialization.json.*
8 import kotlin.test.*
9 
10 class EncodingCollectionsTest {
11     object ListSerializer : KSerializer<List<String>> {
12         override val descriptor: SerialDescriptor = ListSerializer(String.serializer()).descriptor
13 
14         override fun serialize(encoder: Encoder, value: List<String>) {
15             encoder.encodeCollection(descriptor, value) { index, item ->
16                 encodeStringElement(descriptor, index, item)
17             }
18         }
19 
20         override fun deserialize(decoder: Decoder): List<String> = throw NotImplementedError()
21     }
22 
23     @Test
24     fun testEncoding() {
25         assertEquals("""["Hello","World!"]""", Json.encodeToString(ListSerializer, listOf("Hello", "World!")))
26     }
27 }
28