@@ -167,17 +167,8 @@ class MetaDataSerializerTest {
167167 val serialized = jsonSerializer.serialize(metaData, String ::class .java)
168168 val deserialized = jsonSerializer.deserialize<String , MetaData >(serialized)
169169
170- assertEquals(metaData.size, deserialized!! .size)
171-
172- // The nested map will be serialized as a string
173- val deserializedValue = deserialized[" mapValue" ]
174- assertTrue(deserializedValue is String )
175-
176- // Verify the string representation contains the map content
177- val valueAsString = deserializedValue.toString()
178- assertTrue(valueAsString.contains(" key1" ))
179- assertTrue(valueAsString.contains(" value1" ))
180- assertTrue(valueAsString.contains(" nested" ))
170+ val deserializedValue = deserialized!! [" mapValue" ]
171+ assertEquals(nestedMap, deserializedValue)
181172 }
182173
183174 @Test
@@ -191,39 +182,10 @@ class MetaDataSerializerTest {
191182
192183 assertEquals(metaData.size, deserialized!! .size)
193184
194- // The list will be serialized as a string
195- val deserializedValue = deserialized[" listValue" ]
196- assertTrue(deserializedValue is String )
197-
198- // Verify the string representation contains the list items
199- val valueAsString = deserializedValue.toString()
200- assertTrue(valueAsString.contains(" item1" ))
201- assertTrue(valueAsString.contains(" item2" ))
202- assertTrue(valueAsString.contains(" item3" ))
203- }
204-
205- @Test
206- fun `should handle custom objects in MetaData` () {
207- // Define a custom object class for testing
208- data class Person (val name : String , val age : Int )
209-
210- val person = Person (" John Doe" , 30 )
211-
212- val metaData = MetaData .with (" personValue" , person)
213-
214- val serialized = jsonSerializer.serialize(metaData, String ::class .java)
215- val deserialized = jsonSerializer.deserialize<String , MetaData >(serialized)
216-
217- assertEquals(metaData.size, deserialized!! .size)
218-
219- // The custom object will be serialized as a string
220- val deserializedValue = deserialized[" personValue" ]
221- assertTrue(deserializedValue is String )
222-
223- // Verify the string representation contains the object properties
224- val valueAsString = deserializedValue.toString()
225- assertTrue(valueAsString.contains(" John Doe" ))
226- assertTrue(valueAsString.contains(" 30" ))
185+ val deserializedValue = deserialized[" listValue" ] as List <* >
186+ assertTrue(deserializedValue.contains(" item1" ))
187+ assertTrue(deserializedValue.contains(" item2" ))
188+ assertTrue(deserializedValue.contains(" item3" ))
227189 }
228190
229191 @Test
@@ -248,57 +210,32 @@ class MetaDataSerializerTest {
248210
249211 assertEquals(metaData.size, deserialized!! .size)
250212
251- // The complex structure will be serialized as a string
252- val deserializedValue = deserialized[" complexValue" ]
253- assertTrue(deserializedValue is String )
254-
255- // Verify the string representation contains key elements
256- val valueAsString = deserializedValue.toString()
257- assertTrue(valueAsString.contains(" string" ))
258- assertTrue(valueAsString.contains(" value" ))
259- assertTrue(valueAsString.contains(" 42" ))
260- assertTrue(valueAsString.contains(" nestedMap" ))
261- assertTrue(valueAsString.contains(" deepValue" ))
213+ val deserializedValue = deserialized[" complexValue" ] as Map <* , * >
214+ assertEquals(deserializedValue, complexStructure)
262215 }
263216
264217 @Test
265- fun `should handle arrays in MetaData` () {
266- val array = arrayOf(" first" , " second" , " third" )
218+ fun `should handle custom objects in MetaData` () {
219+ // Define a custom object class for testing
220+ data class Person (val name : String , val age : Int )
267221
268- val metaData = MetaData .with (" arrayValue" , array)
222+ val person = Person (" John Doe" , 30 )
223+
224+ val metaData = MetaData .with (" personValue" , person)
269225
270226 val serialized = jsonSerializer.serialize(metaData, String ::class .java)
271227 val deserialized = jsonSerializer.deserialize<String , MetaData >(serialized)
272228
273229 assertEquals(metaData.size, deserialized!! .size)
274230
275- // The array will be serialized as a string
276- val deserializedValue = deserialized[" arrayValue " ]
231+ // The custom object will be serialized as a string
232+ val deserializedValue = deserialized[" personValue " ]
277233 assertTrue(deserializedValue is String )
278234
279- // Verify the string representation contains the array items
235+ // Verify the string representation contains the object properties
280236 val valueAsString = deserializedValue.toString()
281- assertTrue(valueAsString.contains(" first" ))
282- assertTrue(valueAsString.contains(" second" ))
283- assertTrue(valueAsString.contains(" third" ))
237+ assertTrue(valueAsString.contains(" John Doe" ))
238+ assertTrue(valueAsString.contains(" 30" ))
284239 }
285240
286- @Test
287- fun `should handle Date objects in MetaData` () {
288- val date = Date ()
289-
290- val metaData = MetaData .with (" dateValue" , date)
291-
292- val serialized = jsonSerializer.serialize(metaData, String ::class .java)
293- val deserialized = jsonSerializer.deserialize<String , MetaData >(serialized)
294-
295- assertEquals(metaData.size, deserialized!! .size)
296-
297- // The date will be serialized as a string
298- val deserializedValue = deserialized[" dateValue" ]
299- assertTrue(deserializedValue is String )
300-
301- // Verify the string representation is the date's toString() value
302- assertEquals(date.toString(), deserializedValue)
303- }
304241}
0 commit comments