diff options
Diffstat (limited to 'formats/protobuf/commonTest/src/kotlinx/serialization/protobuf/schema/SchemaValidationsTest.kt')
-rw-r--r-- | formats/protobuf/commonTest/src/kotlinx/serialization/protobuf/schema/SchemaValidationsTest.kt | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/formats/protobuf/commonTest/src/kotlinx/serialization/protobuf/schema/SchemaValidationsTest.kt b/formats/protobuf/commonTest/src/kotlinx/serialization/protobuf/schema/SchemaValidationsTest.kt index b7332312..03302502 100644 --- a/formats/protobuf/commonTest/src/kotlinx/serialization/protobuf/schema/SchemaValidationsTest.kt +++ b/formats/protobuf/commonTest/src/kotlinx/serialization/protobuf/schema/SchemaValidationsTest.kt @@ -3,7 +3,6 @@ package kotlinx.serialization.protobuf.schema import kotlinx.serialization.* import kotlinx.serialization.protobuf.* import kotlin.test.Test -import kotlin.test.assertContains import kotlin.test.assertFailsWith class SchemaValidationsTest { @@ -39,6 +38,33 @@ class SchemaValidationsTest { SECOND } + @Serializable + enum class EnumWithExplicitProtoNumberDuplicate { + @ProtoNumber(2) + FIRST, + @ProtoNumber(2) + SECOND, + } + + @Serializable + enum class EnumWithImplicitProtoNumberDuplicate { + FIRST, + @ProtoNumber(0) + SECOND, + } + + @Test + fun testExplicitDuplicateEnumElementProtoNumber() { + val descriptors = listOf(EnumWithExplicitProtoNumberDuplicate.serializer().descriptor) + assertFailsWith(IllegalArgumentException::class) { ProtoBufSchemaGenerator.generateSchemaText(descriptors) } + } + + @Test + fun testImplicitDuplicateEnumElementProtoNumber() { + val descriptors = listOf(EnumWithImplicitProtoNumberDuplicate.serializer().descriptor) + assertFailsWith(IllegalArgumentException::class) { ProtoBufSchemaGenerator.generateSchemaText(descriptors) } + } + @Test fun testInvalidEnumElementSerialName() { val descriptors = listOf(InvalidEnumElementName.serializer().descriptor) |