• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2017-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
3  */
4 
5 package kotlinx.serialization.protobuf
6 
7 import kotlinx.serialization.*
8 import org.junit.Test
9 import kotlin.test.assertEquals
10 import kotlin.test.assertTrue
11 
12 class ProtoCompatibilityTest {
13 
14     @Test
testMapnull15     fun testMap() {
16         val mapData = RandomTest.KTestData.KTestMap(mapOf("a" to "b", "c" to "d"), emptyMap())
17         val kxData = ProtoBuf.encodeToByteArray(mapData)
18         val kxHex = ProtoBuf.encodeToHexString(mapData)
19         val protoHex = mapData.toProtobufMessage().toHex()
20         assertTrue(kxHex.equals(protoHex, ignoreCase = true))
21         val deserializedData: RandomTest.KTestData.KTestMap = ProtoBuf.decodeFromHexString(kxHex)
22         val parsedMsg = mapData.toProtobufMessage().parserForType.parseFrom(kxData)
23         assertEquals(mapData, deserializedData)
24         assertEquals(parsedMsg, deserializedData.toProtobufMessage())
25     }
26 }
27