@@ -319,25 +319,51 @@ public void Does_deserialize_int_objects()
319319 JsConfig . Reset ( ) ;
320320 }
321321
322- string SerializeObject ( object value )
322+ string SerializeObject ( object value ) => new TypeWithObjects { Value = value } . ToJson ( ) ;
323+
324+ private void SerializeObjectTypes ( )
323325 {
324- return new TypeWithObjects { Value = value } . ToJson ( ) ;
326+ Assert . That ( SerializeObject ( ( string ) "a" ) , Is . EqualTo ( "{\" Value\" :\" a\" }" ) ) ;
327+ Assert . That ( SerializeObject ( ( byte ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
328+ Assert . That ( SerializeObject ( ( sbyte ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
329+ Assert . That ( SerializeObject ( ( short ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
330+ Assert . That ( SerializeObject ( ( ushort ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
331+ Assert . That ( SerializeObject ( ( int ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
332+ Assert . That ( SerializeObject ( ( uint ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
333+ Assert . That ( SerializeObject ( ( long ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
334+ Assert . That ( SerializeObject ( ( ulong ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
335+ Assert . That ( SerializeObject ( ( float ) 1.1 ) , Is . EqualTo ( "{\" Value\" :1.1}" ) ) ;
336+ Assert . That ( SerializeObject ( ( double ) 1.1 ) , Is . EqualTo ( "{\" Value\" :1.1}" ) ) ;
337+ Assert . That ( SerializeObject ( ( decimal ) 1.1 ) , Is . EqualTo ( "{\" Value\" :1.1}" ) ) ;
325338 }
326339
340+ object DeserializeObject ( string json ) => json . FromJson < TypeWithObjects > ( ) . Value ;
341+
327342 [ Test ]
328343 public void Does_serialize_number_object_types ( )
329344 {
330- Assert . That ( SerializeObject ( ( byte ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
331- Assert . That ( SerializeObject ( ( sbyte ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
332- Assert . That ( SerializeObject ( ( short ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
333- Assert . That ( SerializeObject ( ( ushort ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
334- Assert . That ( SerializeObject ( ( int ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
335- Assert . That ( SerializeObject ( ( uint ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
336- Assert . That ( SerializeObject ( ( long ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
337- Assert . That ( SerializeObject ( ( ulong ) 1 ) , Is . EqualTo ( "{\" Value\" :1}" ) ) ;
338- Assert . That ( SerializeObject ( ( float ) 1.1 ) , Is . EqualTo ( "{\" Value\" :1.1}" ) ) ;
339- Assert . That ( SerializeObject ( ( double ) 1.1 ) , Is . EqualTo ( "{\" Value\" :1.1}" ) ) ;
340- Assert . That ( SerializeObject ( ( decimal ) 1.1 ) , Is . EqualTo ( "{\" Value\" :1.1}" ) ) ;
345+ SerializeObjectTypes ( ) ;
346+
347+ Assert . That ( DeserializeObject ( "{\" Value\" :\" a\" }" ) , Is . EqualTo ( ( string ) "a" ) ) ;
348+ Assert . That ( DeserializeObject ( "{\" Value\" :1}" ) , Is . EqualTo ( "1" ) ) ;
349+ Assert . That ( DeserializeObject ( "{\" Value\" :1.1}" ) , Is . EqualTo ( "1.1" ) ) ;
350+ Assert . That ( DeserializeObject ( "{\" Value\" :\" a\n b\" }" ) , Is . EqualTo ( "a\n b" ) ) ;
351+ }
352+
353+ [ Test ]
354+ public void Does_serialize_number_object_types_with_JS_utils ( )
355+ {
356+ JS . Configure ( ) ;
357+
358+ SerializeObjectTypes ( ) ;
359+
360+ Assert . That ( DeserializeObject ( "{\" Value\" :\" a\" }" ) , Is . EqualTo ( "a" ) ) ;
361+ Assert . That ( DeserializeObject ( "{\" Value\" :1}" ) , Is . EqualTo ( 1 ) ) ;
362+ Assert . That ( DeserializeObject ( "{\" Value\" :1.1}" ) , Is . EqualTo ( ( double ) 1.1 ) ) ;
363+ Assert . That ( DeserializeObject ( "{\" Value\" :\" a\n b\" }" ) , Is . EqualTo ( "a\n b" ) ) ;
364+
365+ JS . UnConfigure ( ) ;
341366 }
367+
342368 }
343369}
0 commit comments