summaryrefslogtreecommitdiff
path: root/runtime/jvmTest/src/kotlinx/serialization/formats/protobuf/ProtoCompatibilityTest.kt
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/jvmTest/src/kotlinx/serialization/formats/protobuf/ProtoCompatibilityTest.kt')
-rw-r--r--runtime/jvmTest/src/kotlinx/serialization/formats/protobuf/ProtoCompatibilityTest.kt24
1 files changed, 24 insertions, 0 deletions
diff --git a/runtime/jvmTest/src/kotlinx/serialization/formats/protobuf/ProtoCompatibilityTest.kt b/runtime/jvmTest/src/kotlinx/serialization/formats/protobuf/ProtoCompatibilityTest.kt
new file mode 100644
index 00000000..37101d18
--- /dev/null
+++ b/runtime/jvmTest/src/kotlinx/serialization/formats/protobuf/ProtoCompatibilityTest.kt
@@ -0,0 +1,24 @@
+package kotlinx.serialization.formats.protobuf
+
+import kotlinx.serialization.*
+import kotlinx.serialization.formats.KTestData
+import kotlinx.serialization.formats.toHex
+import kotlinx.serialization.protobuf.ProtoBuf
+import org.junit.Test
+import kotlin.test.assertEquals
+import kotlin.test.assertTrue
+
+class ProtoCompatibilityTest {
+ @Test
+ fun mapTest() {
+ val mapData = KTestData.KTestMap(mapOf("a" to "b", "c" to "d"), emptyMap())
+ val kxData = ProtoBuf.dump(mapData)
+ val kxHex = ProtoBuf.dumps(mapData)
+ val protoHex = mapData.toProtobufMessage().toHex()
+ assertTrue(kxHex.equals(protoHex, ignoreCase = true))
+ val deserializedData: KTestData.KTestMap = ProtoBuf.loads(kxHex)
+ val parsedMsg = mapData.toProtobufMessage().parserForType.parseFrom(kxData)
+ assertEquals(mapData, deserializedData)
+ assertEquals(parsedMsg, deserializedData.toProtobufMessage())
+ }
+}