diff options
Diffstat (limited to 'runtime/jvmTest/src/kotlinx/serialization/formats/protobuf/ProtoCompatibilityTest.kt')
-rw-r--r-- | runtime/jvmTest/src/kotlinx/serialization/formats/protobuf/ProtoCompatibilityTest.kt | 24 |
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()) + } +} |