mirror of
https://github.com/corda/corda.git
synced 2025-06-23 01:19:00 +00:00
CORDA-1497 replace missing validation (#4349)
This commit is contained in:
@ -51,6 +51,36 @@ class EnumTransformationTests {
|
||||
}
|
||||
}
|
||||
|
||||
@CordaSerializationTransformRenames(
|
||||
CordaSerializationTransformRename(from = "P", to = "Q"),
|
||||
CordaSerializationTransformRename(from = "Q", to = "R")
|
||||
)
|
||||
enum class DanglingRenames { A, B, C }
|
||||
|
||||
@Test
|
||||
fun renameCycleDoesNotTerminateInConstant() {
|
||||
assertFailsWith<InvalidEnumTransformsException> {
|
||||
EnumTransforms.build(
|
||||
TransformsAnnotationProcessor.getTransformsSchema(DanglingRenames::class.java),
|
||||
DanglingRenames::class.java.constants)
|
||||
}
|
||||
}
|
||||
|
||||
@CordaSerializationTransformRenames(
|
||||
CordaSerializationTransformRename(from = "P", to = "Q"),
|
||||
CordaSerializationTransformRename(from = "Q", to = "R")
|
||||
)
|
||||
enum class RenamesExisting { Q, R, S }
|
||||
|
||||
@Test
|
||||
fun renamesRenameExistingConstant() {
|
||||
assertFailsWith<InvalidEnumTransformsException> {
|
||||
EnumTransforms.build(
|
||||
TransformsAnnotationProcessor.getTransformsSchema(RenamesExisting::class.java),
|
||||
RenamesExisting::class.java.constants)
|
||||
}
|
||||
}
|
||||
|
||||
private val Class<*>.constants: Map<String, Int> get() =
|
||||
enumConstants.asSequence().mapIndexed { index, constant -> constant.toString() to index }.toMap()
|
||||
}
|
Reference in New Issue
Block a user