@@ -32,10 +32,9 @@ object CustomKeysRecord extends HasCborCodec[CustomKeysRecord]
32
32
sealed trait GenericSealedTrait [+ T ]
33
33
object GenericSealedTrait extends HasPolyCborCodec [GenericSealedTrait ] {
34
34
@ cborKey(0 )
35
- case class Success [+ T ](value : T ) extends GenericSealedTrait [T ]
35
+ case class Success [+ T ](@ cborKey( 1 ) value : T ) extends GenericSealedTrait [T ]
36
36
@ cborKey(1 )
37
- case class Failure (message : String ) extends GenericSealedTrait [Nothing ]
38
-
37
+ case class Failure (@ cborKey(1 ) message : String ) extends GenericSealedTrait [Nothing ]
39
38
}
40
39
41
40
@ cborDiscriminator(0 )
@@ -222,18 +221,8 @@ class CborInputOutputTest extends AnyFunSuite {
222
221
assert(CborInput .readRawCbor[Bytes ](RawCbor .fromHex(" 5F426162426162426162FF" )) == Bytes (" ababab" ))
223
222
}
224
223
225
- test(" generic sealed trait" ) {
226
- val success = GenericSealedTrait .Success [Int ](234 )
227
- val successCbor = CborOutput .writeRawCbor[GenericSealedTrait [Int ]](success)
228
- val decodedSuccess = CborInput .readRawCbor[GenericSealedTrait [Int ]](successCbor)
229
- assert(success == decodedSuccess)
230
-
231
- val failure = GenericSealedTrait .Failure (" error" )
232
- val failureCbor = CborOutput .writeRawCbor[GenericSealedTrait [String ]](failure)
233
- val decodedFailure = CborInput .readRawCbor[GenericSealedTrait [String ]](failureCbor)
234
- assert(failure == decodedFailure)
235
- }
236
-
224
+ roundtrip[GenericSealedTrait [Int ]](GenericSealedTrait .Success [Int ](234 ), " A200000118EA" )
225
+ roundtrip[GenericSealedTrait [Boolean ]](GenericSealedTrait .Failure (" error" ), " A2000101656572726F72" )
237
226
}
238
227
239
228
class CborGenCodecRoundtripTest extends GenCodecRoundtripTest {
0 commit comments