@@ -23,12 +23,10 @@ public async Task WriteRootLevelAsyncEnumerable<TElement>(IEnumerable<TElement>
23
23
return ;
24
24
}
25
25
26
- JsonSerializerOptions options = new JsonSerializerOptions
27
- {
28
- DefaultBufferSize = bufferSize
29
- } ;
26
+ JsonSerializerOptions options = Serializer . CreateOptions ( makeReadOnly : false ) ;
27
+ options . DefaultBufferSize = bufferSize ;
30
28
31
- string expectedJson = JsonSerializer . Serialize ( source ) ;
29
+ string expectedJson = JsonSerializer . Serialize ( source , options ) ;
32
30
33
31
using var stream = new Utf8MemoryStream ( ) ;
34
32
var asyncEnumerable = new MockedAsyncEnumerable < TElement > ( source , delayInterval ) ;
@@ -48,37 +46,10 @@ public async Task WriteNestedAsyncEnumerable<TElement>(IEnumerable<TElement> sou
48
46
return ;
49
47
}
50
48
51
- JsonSerializerOptions options = new JsonSerializerOptions
52
- {
53
- DefaultBufferSize = bufferSize
54
- } ;
49
+ JsonSerializerOptions options = Serializer . CreateOptions ( makeReadOnly : false ) ;
50
+ options . DefaultBufferSize = bufferSize ;
55
51
56
- string expectedJson = JsonSerializer . Serialize ( new { Data = source } ) ;
57
-
58
- using var stream = new Utf8MemoryStream ( ) ;
59
- var asyncEnumerable = new MockedAsyncEnumerable < TElement > ( source , delayInterval ) ;
60
- await StreamingSerializer . SerializeWrapper ( stream , new AsyncEnumerableDto < TElement > { Data = asyncEnumerable } , options ) ;
61
-
62
- JsonTestHelper . AssertJsonEqual ( expectedJson , stream . AsString ( ) ) ;
63
- Assert . Equal ( 1 , asyncEnumerable . TotalCreatedEnumerators ) ;
64
- Assert . Equal ( 1 , asyncEnumerable . TotalDisposedEnumerators ) ;
65
- }
66
-
67
- [ Theory ]
68
- [ MemberData ( nameof ( GetAsyncEnumerableSources ) ) ]
69
- public async Task WriteNestedAsyncEnumerable_DTO < TElement > ( IEnumerable < TElement > source , int delayInterval , int bufferSize )
70
- {
71
- if ( StreamingSerializer ? . IsAsyncSerializer != true )
72
- {
73
- return ;
74
- }
75
-
76
- JsonSerializerOptions options = new JsonSerializerOptions
77
- {
78
- DefaultBufferSize = bufferSize
79
- } ;
80
-
81
- string expectedJson = JsonSerializer . Serialize ( new { Data = source } ) ;
52
+ string expectedJson = JsonSerializer . Serialize ( new EnumerableDto < TElement > { Data = source } , options ) ;
82
53
83
54
using var stream = new Utf8MemoryStream ( ) ;
84
55
var asyncEnumerable = new MockedAsyncEnumerable < TElement > ( source , delayInterval ) ;
@@ -100,11 +71,9 @@ public async Task WriteNestedAsyncEnumerable_Nullable<TElement>(IEnumerable<TEle
100
71
101
72
// Primarily tests the ability of NullableConverter to flow async serialization state
102
73
103
- JsonSerializerOptions options = new JsonSerializerOptions
104
- {
105
- DefaultBufferSize = bufferSize ,
106
- IncludeFields = true ,
107
- } ;
74
+ JsonSerializerOptions options = Serializer . CreateOptions ( makeReadOnly : false ) ;
75
+ options . DefaultBufferSize = bufferSize ;
76
+ options . IncludeFields = true ;
108
77
109
78
string expectedJson = JsonSerializer . Serialize < ( IEnumerable < TElement > , bool ) ? > ( ( source , false ) , options ) ;
110
79
@@ -164,11 +133,22 @@ await Assert.ThrowsAsync<TaskCanceledException>(async () =>
164
133
Assert . Equal ( 1 , longRunningEnumerable . TotalDisposedEnumerators ) ;
165
134
}
166
135
136
+ public class EnumerableDto < TElement >
137
+ {
138
+ public IEnumerable < TElement > Data { get ; set ; }
139
+ }
140
+
167
141
public class AsyncEnumerableDto < TElement >
168
142
{
169
143
public IAsyncEnumerable < TElement > Data { get ; set ; }
170
144
}
171
145
146
+ public class EnumerableDtoWithTwoProperties < TElement >
147
+ {
148
+ public IEnumerable < TElement > Data1 { get ; set ; }
149
+ public IEnumerable < TElement > Data2 { get ; set ; }
150
+ }
151
+
172
152
public class AsyncEnumerableDtoWithTwoProperties < TElement >
173
153
{
174
154
public IAsyncEnumerable < TElement > Data1 { get ; set ; }
@@ -184,12 +164,10 @@ public async Task WriteSequentialNestedAsyncEnumerables<TElement>(IEnumerable<TE
184
164
return ;
185
165
}
186
166
187
- JsonSerializerOptions options = new JsonSerializerOptions
188
- {
189
- DefaultBufferSize = bufferSize
190
- } ;
167
+ JsonSerializerOptions options = Serializer . CreateOptions ( makeReadOnly : false ) ;
168
+ options . DefaultBufferSize = bufferSize ;
191
169
192
- string expectedJson = JsonSerializer . Serialize ( new { Data1 = source , Data2 = source } ) ;
170
+ string expectedJson = JsonSerializer . Serialize ( new EnumerableDtoWithTwoProperties < TElement > { Data1 = source , Data2 = source } , options ) ;
193
171
194
172
using var stream = new Utf8MemoryStream ( ) ;
195
173
var asyncEnumerable = new MockedAsyncEnumerable < TElement > ( source , delayInterval ) ;
@@ -209,13 +187,11 @@ public async Task WriteAsyncEnumerableOfAsyncEnumerables<TElement>(IEnumerable<T
209
187
return ;
210
188
}
211
189
212
- JsonSerializerOptions options = new JsonSerializerOptions
213
- {
214
- DefaultBufferSize = bufferSize
215
- } ;
190
+ JsonSerializerOptions options = Serializer . CreateOptions ( makeReadOnly : false ) ;
191
+ options . DefaultBufferSize = bufferSize ;
216
192
217
193
const int OuterEnumerableCount = 5 ;
218
- string expectedJson = JsonSerializer . Serialize ( Enumerable . Repeat ( source , OuterEnumerableCount ) ) ;
194
+ string expectedJson = JsonSerializer . Serialize ( Enumerable . Repeat ( source , OuterEnumerableCount ) , options ) ;
219
195
220
196
var innerAsyncEnumerable = new MockedAsyncEnumerable < TElement > ( source , delayInterval ) ;
221
197
var outerAsyncEnumerable =
0 commit comments