
jvmTest.kotlinx.serialization.features.JvmContextualGenericsTest.kt Maven / Gradle / Ivy
/*
* Copyright 2017-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package kotlinx.serialization.features
import kotlinx.serialization.*
import kotlinx.serialization.modules.*
import kotlinx.serialization.test.*
import kotlin.test.*
class JvmContextualGenericsTest : ContextualGenericsTest() {
@Test
fun testSurrogateSerializerFoundForGenericWithJavaType() {
val filledBox = ThirdPartyBox(contents = Item("Foo"))
val serializer = serializersModuleStatic.serializer(filledBox::class.java)
assertEquals(boxWithItemSerializer.descriptor, serializer.descriptor)
}
@Test
fun testSerializerFoundForContextualGenericWithJavaTypeToken() {
val serializerA = serializersModuleWithProvider.serializer(typeTokenOf>())
assertEquals(Item.serializer().descriptor, serializerA.descriptor.getElementDescriptor(0))
val serializerB = serializersModuleWithProvider.serializer(typeTokenOf>())
assertEquals(AnotherItem.serializer().descriptor, serializerB.descriptor.getElementDescriptor(0))
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy