@@ -32,25 +32,27 @@ import kotlin.test.assertEquals
3232
3333class CustomMapKey274 {
3434
35+ val xml = XML { recommended_0_91_0 { formatCache = TestFormatCache (DefaultFormatCache ()) } }
36+
3537 @Test
3638 fun testSerialize () {
3739 val data = MapContainer (mapOf (" a" to MapElement (" avalue" ), " b" to MapElement (" bvalue" )))
3840 val expected = " <MapContainer><MapElement name=\" a\" value=\" avalue\" /><MapElement name=\" b\" value=\" bvalue\" /></MapContainer>"
39- val actual = XML .encodeToString(data)
41+ val actual = xml .encodeToString(data)
4042 assertXmlEquals(expected, actual)
4143 }
4244
4345 @Test
4446 fun testDeserialize () {
4547 val expected = MapContainer (mapOf (" a" to MapElement (" avalue" ), " b" to MapElement (" bvalue" )))
4648 val data = " <MapContainer><MapElement name=\" a\" value=\" avalue\" /><MapElement name=\" b\" value=\" bvalue\" /></MapContainer>"
47- val actual = XML .decodeFromString<MapContainer >(data)
49+ val actual = xml .decodeFromString<MapContainer >(data)
4850 assertEquals(expected, actual)
4951 }
5052
5153 @Test
5254 fun testSerializeNotCollapsed () {
53- val xml = XML {} .copy {
55+ val xml = xml .copy {
5456 policy = object : DefaultXmlSerializationPolicy (policy) {
5557 override fun isMapValueCollapsed (mapParent : SafeParentInfo , valueDescriptor : XmlDescriptor ): Boolean {
5658 return false
@@ -67,7 +69,7 @@ class CustomMapKey274 {
6769
6870 @Test
6971 fun testDeserializeNotCollapsed () {
70- val xml = XML {} .copy {
72+ val xml = xml .copy {
7173 policy = object : DefaultXmlSerializationPolicy (policy) {
7274 override fun isMapValueCollapsed (mapParent : SafeParentInfo , valueDescriptor : XmlDescriptor ): Boolean {
7375 return false
@@ -84,7 +86,7 @@ class CustomMapKey274 {
8486
8587 @Test
8688 fun testSerializeNotCollapsedPolicy () {
87- val xml = XML {} .copy {
89+ val xml = xml .copy {
8890 policy = object : DefaultXmlSerializationPolicy (policy) {
8991 override fun isMapValueCollapsed (mapParent : SafeParentInfo , valueDescriptor : XmlDescriptor ): Boolean {
9092 return false
@@ -101,7 +103,7 @@ class CustomMapKey274 {
101103
102104 @Test
103105 fun testDeserializeNotCollapsedPolicy () {
104- val xml = XML {} .copy {
106+ val xml = xml .copy {
105107 policy = object : DefaultXmlSerializationPolicy (policy) {
106108 override fun isMapValueCollapsed (mapParent : SafeParentInfo , valueDescriptor : XmlDescriptor ): Boolean {
107109 return false
@@ -120,7 +122,21 @@ class CustomMapKey274 {
120122 fun testSerializeStringMap () {
121123 val data = MyClass (mapOf (" abc" to " def" ))
122124 val expected= " <MyClass><value key=\" abc\" value=\" def\" /></MyClass>"
123- assertXmlEquals(expected, XML .encodeToString(data))
125+ assertXmlEquals(expected, xml.encodeToString(data))
126+ }
127+
128+ @Test
129+ fun testSerializeStringMultipleMap () {
130+ val data = MyClass (mapOf (" abc" to " def" , " 123" to " 456" ))
131+ val expected= " <MyClass><value key=\" abc\" value=\" def\" /><value key=\" 123\" value=\" 456\" /></MyClass>"
132+ assertXmlEquals(expected, xml.encodeToString(data))
133+ }
134+
135+ @Test
136+ fun testDeserializeStringMap () {
137+ val expected = MyClass (mapOf (" abc" to " def" , " 123" to " 456" ))
138+ val data= " <MyClass><value key=\" abc\" value=\" def\" /><value key=\" 123\" value=\" 456\" /></MyClass>"
139+ assertEquals(expected, xml.decodeFromString<MyClass >(data))
124140 }
125141
126142 @Serializable
@@ -143,5 +159,5 @@ class CustomMapKey274 {
143159 )
144160
145161 @Serializable
146- class MyClass (val map : Map <String , String >)
162+ data class MyClass (val map : Map <String , String >)
147163}
0 commit comments