diff options
Diffstat (limited to 'formats/json-tests/commonTest/src/kotlinx/serialization/features/UseSerializersTest.kt')
-rw-r--r-- | formats/json-tests/commonTest/src/kotlinx/serialization/features/UseSerializersTest.kt | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/formats/json-tests/commonTest/src/kotlinx/serialization/features/UseSerializersTest.kt b/formats/json-tests/commonTest/src/kotlinx/serialization/features/UseSerializersTest.kt new file mode 100644 index 00000000..b5f332d7 --- /dev/null +++ b/formats/json-tests/commonTest/src/kotlinx/serialization/features/UseSerializersTest.kt @@ -0,0 +1,32 @@ +/* + * Copyright 2017-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +@file:UseSerializers(MultiplyingIntHolderSerializer::class, MultiplyingIntSerializer::class) + +package kotlinx.serialization.features + +import kotlinx.serialization.* +import kotlinx.serialization.json.* +import kotlin.test.* + +@Serializable +data class Carrier2( + val a: IntHolder, + val i: Int, + val nullable: Int?, + val nullableIntHolder: IntHolder?, + val nullableIntList: List<Int?> = emptyList(), + val nullableIntHolderNullableList: List<IntHolder?>? = null +) + +class UseSerializersTest { + @Test + fun testOnFile() { + val str = Json { encodeDefaults = true }.encodeToString( + Carrier2.serializer(), + Carrier2(IntHolder(42), 2, 2, IntHolder(42)) + ) + assertEquals("""{"a":84,"i":4,"nullable":4,"nullableIntHolder":84,"nullableIntList":[],"nullableIntHolderNullableList":null}""", str) + } +} |