@@ -202,6 +202,17 @@ public class NullableEnumTest
202202 public NullableEnum ? TestEnum ;
203203 }
204204
205+ class EmptyArrayInJsonDataTest
206+ {
207+ public int [ ] array ;
208+ public string name ;
209+ }
210+
211+ class EmptyArrayInJsonDataTestWrapper
212+ {
213+ public JsonData data = null ;
214+ }
215+
205216 [ TestFixture ]
206217 public class JsonMapperTest
207218 {
@@ -310,13 +321,13 @@ public void ExportEnumsTest ()
310321 public void ExportEnumDictionaryTest ( )
311322 {
312323 Dictionary < Planets , int > planets = new Dictionary < Planets , int > ( ) ;
313-
324+
314325 planets . Add ( Planets . Jupiter , 5 ) ;
315326 planets . Add ( Planets . Saturn , 6 ) ;
316327 planets . Add ( Planets . Uranus , 7 ) ;
317328 planets . Add ( Planets . Neptune , 8 ) ;
318329 planets . Add ( Planets . Pluto , 9 ) ;
319-
330+
320331 string json = JsonMapper . ToJson ( planets ) ;
321332
322333 Assert . AreEqual ( "{\" Jupiter\" :5,\" Saturn\" :6,\" Uranus\" :7,\" Neptune\" :8,\" Pluto\" :9}" , json ) ;
@@ -417,7 +428,7 @@ public void ExportValueTypesTest ()
417428 test . TestUInt = 90000000 ;
418429 test . TestULong = 0xFFFFFFFFFFFFFFFF ; // = =18446744073709551615
419430 test . TestDateTimeOffset =
420- new DateTimeOffset ( 2019 , 9 , 18 , 16 , 47 ,
431+ new DateTimeOffset ( 2019 , 9 , 18 , 16 , 47 ,
421432 50 , 123 , TimeSpan . FromHours ( 8 ) ) . AddTicks ( 4567 ) ;
422433
423434 string json = JsonMapper . ToJson ( test ) ;
@@ -871,7 +882,7 @@ public void ImportValueTypesTest ()
871882 Assert . AreEqual ( 90000000 , test . TestUInt , "A8" ) ;
872883 Assert . AreEqual ( 18446744073709551615L , test . TestULong , "A9" ) ;
873884 Assert . AreEqual (
874- new DateTimeOffset ( 2019 , 9 , 18 , 16 , 47 ,
885+ new DateTimeOffset ( 2019 , 9 , 18 , 16 , 47 ,
875886 50 , 123 , TimeSpan . FromHours ( 8 ) ) . AddTicks ( 4567 ) ,
876887 test . TestDateTimeOffset , "A10" ) ;
877888 }
@@ -1059,5 +1070,34 @@ public void NullableEnumExportTest()
10591070 expectedJson = "{\" TestEnum\" :null}" ;
10601071 Assert . AreEqual ( expectedJson , JsonMapper . ToJson ( value ) ) ;
10611072 }
1073+
1074+ [ Test ]
1075+ public void EmptyArrayInJsonDataExportTest ( )
1076+ {
1077+ string testJson = @"
1078+ {
1079+ ""data"":
1080+ {
1081+ ""array"": [],
1082+ ""name"": ""testName""
1083+ }
1084+ }" ;
1085+
1086+ var response = JsonMapper . ToObject < EmptyArrayInJsonDataTestWrapper > ( testJson ) ;
1087+ var toJsonResult = response . data . ToJson ( ) ;
1088+ string expectedJson = "{\" array\" :[],\" name\" :\" testName\" }" ;
1089+ Assert . AreEqual ( toJsonResult , expectedJson ) ;
1090+ }
1091+
1092+ [ Test ]
1093+ public void EmptyArrayInJsonDataTest ( )
1094+ {
1095+ var toJsonResult = JsonMapper . ToJson ( new EmptyArrayInJsonDataTest {
1096+ name = "testName" ,
1097+ array = new int [ 0 ]
1098+ } ) ;
1099+ string expectedJson = "{\" array\" :[],\" name\" :\" testName\" }" ;
1100+ Assert . AreEqual ( toJsonResult , expectedJson ) ;
1101+ }
10621102 }
10631103}
0 commit comments