@@ -7,7 +7,7 @@ namespace SocketIOClient.UnitTest
77 [ TestClass ]
88 public class SystemTextJsonSerializerTest
99 {
10- const string LONG_STRING = @"
10+ const string LONG_STRING = @"
1111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1212111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1313222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
@@ -28,13 +28,15 @@ public void TestEio3With1Byte()
2828 {
2929 var seriazlier = new SystemTextJsonSerializer ( 3 ) ;
3030 byte [ ] messageBytes = Encoding . UTF8 . GetBytes ( LONG_STRING + "xyz" ) ;
31- var result = seriazlier . Serialize ( new
32- {
33- Code = 404 ,
34- Message = messageBytes
31+ var result = seriazlier . Serialize ( new object [ ] {
32+ new
33+ {
34+ Code = 404 ,
35+ Message = messageBytes
36+ }
3537 } ) ;
3638
37- Assert . AreEqual ( $ "{{ \" Code\" :404,\" Message\" :{{ \" _placeholder\" :true,\" num\" :0}}}} ", result . Json ) ;
39+ Assert . AreEqual ( "[{ \" Code\" :404,\" Message\" :{\" _placeholder\" :true,\" num\" :0}}] ", result . Json ) ;
3840 Assert . AreEqual ( 1 , result . Bytes . Count ) ;
3941 Assert . AreEqual ( messageBytes . Length + 1 , result . Bytes [ 0 ] . Length ) ;
4042 Assert . AreEqual ( 4 , result . Bytes [ 0 ] [ 0 ] ) ;
@@ -47,14 +49,17 @@ public void TestEio3With2Bytes()
4749 var seriazlier = new SystemTextJsonSerializer ( 3 ) ;
4850 byte [ ] messageBytes = Encoding . UTF8 . GetBytes ( LONG_STRING + "xyz" ) ;
4951 byte [ ] dataBytes = Encoding . UTF8 . GetBytes ( LONG_STRING + "-data" ) ;
50- var result = seriazlier . Serialize ( new
52+ var result = seriazlier . Serialize ( new object [ ]
5153 {
52- Code = 404 ,
53- Message = messageBytes ,
54- Data = dataBytes
54+ new
55+ {
56+ Code = 404 ,
57+ Message = messageBytes ,
58+ Data = dataBytes
59+ }
5560 } ) ;
5661
57- Assert . AreEqual ( $ "{{ \" Code\" :404,\" Message\" :{{ \" _placeholder\" :true,\" num\" :0}} ,\" Data\" :{{ \" _placeholder\" :true,\" num\" :1}}}} ", result . Json ) ;
62+ Assert . AreEqual ( "[{ \" Code\" :404,\" Message\" :{\" _placeholder\" :true,\" num\" :0},\" Data\" :{\" _placeholder\" :true,\" num\" :1}}] ", result . Json ) ;
5863 Assert . AreEqual ( 2 , result . Bytes . Count ) ;
5964 Assert . AreEqual ( messageBytes . Length + 1 , result . Bytes [ 0 ] . Length ) ;
6065 Assert . AreEqual ( 4 , result . Bytes [ 0 ] [ 0 ] ) ;
@@ -69,13 +74,16 @@ public void TestEio4With1Byte()
6974 {
7075 var seriazlier = new SystemTextJsonSerializer ( 4 ) ;
7176 byte [ ] messageBytes = Encoding . UTF8 . GetBytes ( LONG_STRING + "xyz" ) ;
72- var result = seriazlier . Serialize ( new
77+ var result = seriazlier . Serialize ( new object [ ]
7378 {
74- Code = 404 ,
75- Message = messageBytes
79+ new
80+ {
81+ Code = 404 ,
82+ Message = messageBytes
83+ }
7684 } ) ;
7785
78- Assert . AreEqual ( $ "{{ \" Code\" :404,\" Message\" :{{ \" _placeholder\" :true,\" num\" :0}}}} ", result . Json ) ;
86+ Assert . AreEqual ( "[{ \" Code\" :404,\" Message\" :{\" _placeholder\" :true,\" num\" :0}}] ", result . Json ) ;
7987 Assert . AreEqual ( messageBytes . Length , result . Bytes [ 0 ] . Length ) ;
8088 Assert . AreEqual ( LONG_STRING + "xyz" , Encoding . UTF8 . GetString ( result . Bytes [ 0 ] ) ) ;
8189 }
@@ -86,14 +94,41 @@ public void TestEio4With2Bytes()
8694 var seriazlier = new SystemTextJsonSerializer ( 4 ) ;
8795 byte [ ] messageBytes = Encoding . UTF8 . GetBytes ( LONG_STRING + "xyz" ) ;
8896 byte [ ] dataBytes = Encoding . UTF8 . GetBytes ( LONG_STRING + "-data" ) ;
89- var result = seriazlier . Serialize ( new
97+ var result = seriazlier . Serialize ( new object [ ]
98+ {
99+ new
100+ {
101+ Code = 404 ,
102+ Message = messageBytes ,
103+ Data = dataBytes
104+ }
105+ } ) ;
106+
107+ Assert . AreEqual ( "[{\" Code\" :404,\" Message\" :{\" _placeholder\" :true,\" num\" :0},\" Data\" :{\" _placeholder\" :true,\" num\" :1}}]" , result . Json ) ;
108+ Assert . AreEqual ( 2 , result . Bytes . Count ) ;
109+ Assert . AreEqual ( messageBytes . Length , result . Bytes [ 0 ] . Length ) ;
110+ Assert . AreEqual ( LONG_STRING + "xyz" , Encoding . UTF8 . GetString ( result . Bytes [ 0 ] ) ) ;
111+ Assert . AreEqual ( dataBytes . Length , result . Bytes [ 1 ] . Length ) ;
112+ Assert . AreEqual ( LONG_STRING + "-data" , Encoding . UTF8 . GetString ( result . Bytes [ 1 ] ) ) ;
113+ }
114+
115+ [ TestMethod ]
116+ public void TestEio4With2Bytes2Params ( )
117+ {
118+ var seriazlier = new SystemTextJsonSerializer ( 4 ) ;
119+ byte [ ] messageBytes = Encoding . UTF8 . GetBytes ( LONG_STRING + "xyz" ) ;
120+ byte [ ] dataBytes = Encoding . UTF8 . GetBytes ( LONG_STRING + "-data" ) ;
121+ var result = seriazlier . Serialize ( new object [ ]
90122 {
91- Code = 404 ,
92- Message = messageBytes ,
93- Data = dataBytes
123+ new
124+ {
125+ Code = 404 ,
126+ Message = messageBytes
127+ } ,
128+ dataBytes
94129 } ) ;
95130
96- Assert . AreEqual ( $ "{{ \" Code\" :404,\" Message\" :{{ \" _placeholder\" :true,\" num\" :0}},\" Data \" :{{ \" _placeholder\" :true,\" num\" :1}}}} ", result . Json ) ;
131+ Assert . AreEqual ( "[{ \" Code\" :404,\" Message\" :{\" _placeholder\" :true,\" num\" :0}},{ \" _placeholder\" :true,\" num\" :1}] ", result . Json ) ;
97132 Assert . AreEqual ( 2 , result . Bytes . Count ) ;
98133 Assert . AreEqual ( messageBytes . Length , result . Bytes [ 0 ] . Length ) ;
99134 Assert . AreEqual ( LONG_STRING + "xyz" , Encoding . UTF8 . GetString ( result . Bytes [ 0 ] ) ) ;
0 commit comments