@@ -30,7 +30,9 @@ namespace RestSharp.Tests
30
30
{
31
31
public class JsonTests
32
32
{
33
- private const string GuidString = "AC1FC4BC-087A-4242-B8EE-C53EBE9887A5" ;
33
+ private const string AlternativeCulture = "pt-PT" ;
34
+
35
+ private const string GuidString = "AC1FC4BC-087A-4242-B8EE-C53EBE9887A5" ;
34
36
35
37
[ Fact ]
36
38
public void Can_Deserialize_4sq_Json_With_Root_Element_Specified ( )
@@ -126,7 +128,7 @@ public void Can_Deserialize_Elements_to_Nullable_Values()
126
128
[ Fact ]
127
129
public void Can_Deserialize_Custom_Formatted_Date ( )
128
130
{
129
- var culture = CultureInfo . InvariantCulture ;
131
+ var culture = CultureInfo . InvariantCulture ;
130
132
var format = "dd yyyy MMM, hh:mm ss tt" ;
131
133
var date = new DateTime ( 2010 , 2 , 8 , 11 , 11 , 11 ) ;
132
134
@@ -233,6 +235,15 @@ public void Can_Deserialize_With_Default_Root()
233
235
Assert . Equal ( "Foe 2" , p . Foes [ "dict2" ] . Nickname ) ;
234
236
}
235
237
238
+ [ Fact ]
239
+ public void Can_Deserialize_With_Default_Root_Alternative_Culture ( )
240
+ {
241
+ using ( new CultureChange ( AlternativeCulture ) )
242
+ {
243
+ Can_Deserialize_With_Default_Root ( ) ;
244
+ }
245
+ }
246
+
236
247
[ Fact ]
237
248
public void Can_Deserialize_Names_With_Underscores_With_Default_Root ( )
238
249
{
@@ -262,6 +273,15 @@ public void Can_Deserialize_Names_With_Underscores_With_Default_Root()
262
273
Assert . Equal ( "Foe 2" , p . Foes [ "dict2" ] . Nickname ) ;
263
274
}
264
275
276
+ [ Fact ]
277
+ public void Can_Deserialize_Names_With_Underscores_With_Default_Root_Alternative_Culture ( )
278
+ {
279
+ using ( new CultureChange ( AlternativeCulture ) )
280
+ {
281
+ Can_Deserialize_Names_With_Underscores_With_Default_Root ( ) ;
282
+ }
283
+ }
284
+
265
285
[ Fact ]
266
286
public void Can_Deserialize_Names_With_Dashes_With_Default_Root ( )
267
287
{
@@ -291,6 +311,15 @@ public void Can_Deserialize_Names_With_Dashes_With_Default_Root()
291
311
Assert . Equal ( "Foe 2" , p . Foes [ "dict2" ] . Nickname ) ;
292
312
}
293
313
314
+ [ Fact ]
315
+ public void Can_Deserialize_Names_With_Dashes_With_Default_Root_Alternative_Culture ( )
316
+ {
317
+ using ( new CultureChange ( AlternativeCulture ) )
318
+ {
319
+ Can_Deserialize_Names_With_Dashes_With_Default_Root ( ) ;
320
+ }
321
+ }
322
+
294
323
[ Fact ]
295
324
public void Ignore_Protected_Property_That_Exists_In_Data ( )
296
325
{
@@ -313,6 +342,24 @@ public void Ignore_ReadOnly_Property_That_Exists_In_Data()
313
342
Assert . Null ( p . ReadOnlyProxy ) ;
314
343
}
315
344
345
+ [ Fact ]
346
+ public void Can_Deserialize_TimeSpan ( )
347
+ {
348
+ var doc = File . ReadAllText ( Path . Combine ( "SampleData" , "timespans.txt" ) ) ;
349
+ var d = new JsonDeserializer ( ) ;
350
+ var response = new RestResponse { Content = doc } ;
351
+ var payload = d . Deserialize < TimeSpanTestStructure > ( response ) ;
352
+
353
+ Assert . Equal ( new TimeSpan ( 468006 ) , payload . Tick ) ;
354
+ Assert . Equal ( new TimeSpan ( 0 , 0 , 0 , 0 , 125 ) , payload . Millisecond ) ;
355
+ Assert . Equal ( new TimeSpan ( 0 , 0 , 8 ) , payload . Second ) ;
356
+ Assert . Equal ( new TimeSpan ( 0 , 55 , 2 ) , payload . Minute ) ;
357
+ Assert . Equal ( new TimeSpan ( 21 , 30 , 7 ) , payload . Hour ) ;
358
+ Assert . Null ( payload . NullableWithoutValue ) ;
359
+ Assert . NotNull ( payload . NullableWithValue ) ;
360
+ Assert . Equal ( new TimeSpan ( 21 , 30 , 7 ) , payload . NullableWithValue . Value ) ;
361
+ }
362
+
316
363
[ Fact ]
317
364
public void Can_Deserialize_Iso_Json_Dates ( )
318
365
{
0 commit comments