@@ -97,6 +97,176 @@ public void When_UseParameterizedNamesInDynamicQuery_IsTrue_WrappedStringValueEn
97
97
// Assert
98
98
result . Should ( ) . HaveCount ( 1 ) ;
99
99
}
100
+
101
+ [ Fact ]
102
+ public void When_UseParameterizedNamesInDynamicQuery_IsTrue_WrappedStringValueEnumAsParameter_Should_Be_Unwrapped ( )
103
+ {
104
+ // Arrange
105
+ var list = new List < Customer >
106
+ {
107
+ new ( )
108
+ {
109
+ Name = "Duffy" ,
110
+ GenderType = Gender . Female
111
+ } ,
112
+ new ( )
113
+ {
114
+ Name = "Garry" ,
115
+ GenderType = Gender . Male
116
+ }
117
+ } ;
118
+
119
+ var config = new ParsingConfig
120
+ {
121
+ UseParameterizedNamesInDynamicQuery = true
122
+ } ;
123
+
124
+ // Act
125
+ var result = list . AsQueryable ( ) . Where ( config , "GenderType = @0" , "Female" ) . ToArray ( ) ;
126
+
127
+ // Assert
128
+ result . Should ( ) . HaveCount ( 1 ) ;
129
+ }
130
+
131
+ [ Fact ]
132
+ public void When_UseParameterizedNamesInDynamicQuery_IsTrue_WrappedStringValueEnumArray_Should_Be_Unwrapped ( )
133
+ {
134
+ // Arrange
135
+ var list = new List < Customer >
136
+ {
137
+ new ( )
138
+ {
139
+ Name = "Duffy" ,
140
+ GenderType = Gender . Female
141
+ } ,
142
+ new ( )
143
+ {
144
+ Name = "Garry" ,
145
+ GenderType = Gender . Male
146
+ } ,
147
+ new ( )
148
+ {
149
+ Name = "Garry" ,
150
+ GenderType = Gender . Other
151
+ } ,
152
+ new ( )
153
+ {
154
+ Name = "Garry" ,
155
+ GenderType = Gender . Male
156
+ }
157
+ } ;
158
+
159
+ var config = new ParsingConfig
160
+ {
161
+ UseParameterizedNamesInDynamicQuery = true
162
+ } ;
163
+
164
+ // Act
165
+ var result = list . AsQueryable ( ) . Where ( config , "GenderType in (\" Female\" , \" Other\" )" ) . ToArray ( ) ;
166
+
167
+ // Assert
168
+ result . Should ( ) . HaveCount ( 2 ) ;
169
+ }
170
+
171
+ [ Fact ]
172
+ public void When_UseParameterizedNamesInDynamicQuery_IsTrue_WrappedIntergerValueEnumArray_Should_Be_Unwrapped ( )
173
+ {
174
+ // Arrange
175
+ var list = new List < Customer >
176
+ {
177
+ new ( )
178
+ {
179
+ Name = "Duffy" ,
180
+ GenderType = Gender . Female
181
+ } ,
182
+ new ( )
183
+ {
184
+ Name = "Garry" ,
185
+ GenderType = Gender . Male
186
+ } ,
187
+ new ( )
188
+ {
189
+ Name = "Garry" ,
190
+ GenderType = Gender . Other
191
+ } ,
192
+ new ( )
193
+ {
194
+ Name = "Garry" ,
195
+ GenderType = Gender . Male
196
+ }
197
+ } ;
198
+
199
+ var config = new ParsingConfig
200
+ {
201
+ UseParameterizedNamesInDynamicQuery = true
202
+ } ;
203
+
204
+ // Act
205
+ var result = list . AsQueryable ( ) . Where ( config , "GenderType in (0, 2)" ) . ToArray ( ) ;
206
+
207
+ // Assert
208
+ result . Should ( ) . HaveCount ( 2 ) ;
209
+ }
210
+
211
+ [ Fact ]
212
+ public void When_UseParameterizedNamesInDynamicQuery_IsTrue_WrappedIntegerValueEnum_Should_Be_Unwrapped ( )
213
+ {
214
+ // Arrange
215
+ var list = new List < Customer >
216
+ {
217
+ new ( )
218
+ {
219
+ Name = "Duffy" ,
220
+ GenderType = Gender . Female
221
+ } ,
222
+ new ( )
223
+ {
224
+ Name = "Garry" ,
225
+ GenderType = Gender . Male
226
+ }
227
+ } ;
228
+
229
+ var config = new ParsingConfig
230
+ {
231
+ UseParameterizedNamesInDynamicQuery = true
232
+ } ;
233
+
234
+ // Act
235
+ var result = list . AsQueryable ( ) . Where ( config , "GenderType = 1" ) . ToArray ( ) ;
236
+
237
+ // Assert
238
+ result . Should ( ) . HaveCount ( 1 ) ;
239
+ }
240
+
241
+ [ Fact ]
242
+ public void When_UseParameterizedNamesInDynamicQuery_IsTrue_WrappedIntegerStringValueEnumAsParameter_Should_Be_Unwrapped ( )
243
+ {
244
+ // Arrange
245
+ var list = new List < Customer >
246
+ {
247
+ new ( )
248
+ {
249
+ Name = "Duffy" ,
250
+ GenderType = Gender . Female
251
+ } ,
252
+ new ( )
253
+ {
254
+ Name = "Garry" ,
255
+ GenderType = Gender . Male
256
+ }
257
+ } ;
258
+
259
+ var config = new ParsingConfig
260
+ {
261
+ UseParameterizedNamesInDynamicQuery = true
262
+ } ;
263
+
264
+ // Act
265
+ var result = list . AsQueryable ( ) . Where ( config , "GenderType = @0" , 1 ) . ToArray ( ) ;
266
+
267
+ // Assert
268
+ result . Should ( ) . HaveCount ( 1 ) ;
269
+ }
100
270
}
101
271
102
272
public class Customer
0 commit comments