1- using NUnit . Framework ;
1+ using System ;
2+ using NUnit . Framework ;
23
3- namespace ServiceStack . Text . Tests
4+ namespace ServiceStack . Text . Tests ;
5+
6+ [ TestFixture ]
7+ public class DynamicJsonTests
48{
5- [ TestFixture ]
6- public class DynamicJsonTests
9+ [ Test ]
10+ public void Can_Serialize_dynamic_collection ( )
711 {
8- [ Test ]
9- public void Can_Serialize_dynamic_collection ( )
10- {
11- dynamic rows = new [ ] { new { Name = "Foo" } , new { Name = "Bar" } } ;
12+ dynamic rows = new [ ] { new { Name = "Foo" } , new { Name = "Bar" } } ;
1213
13- string json = JsonSerializer . SerializeToString ( rows ) ;
14+ string json = JsonSerializer . SerializeToString ( rows ) ;
1415
15- Assert . That ( json , Is . EqualTo ( "[{\" Name\" :\" Foo\" },{\" Name\" :\" Bar\" }]" ) ) ;
16+ Assert . That ( json , Is . EqualTo ( "[{\" Name\" :\" Foo\" },{\" Name\" :\" Bar\" }]" ) ) ;
1617
17- string csv = CsvSerializer . SerializeToString ( rows ) ;
18- Assert . That ( csv . NormalizeNewLines ( ) , Is . EqualTo ( "Name\n Foo\n Bar" ) ) ;
19- }
18+ string csv = CsvSerializer . SerializeToString ( rows ) ;
19+ Assert . That ( csv . NormalizeNewLines ( ) , Is . EqualTo ( "Name\n Foo\n Bar" ) ) ;
20+ }
2021
21- [ Test ]
22- public void Can_deserialize_dynamic_instance ( )
23- {
24- var dog = new { Name = "Spot" } ;
25- var json = DynamicJson . Serialize ( dog ) ;
22+ [ Test ]
23+ public void Can_deserialize_dynamic_instance ( )
24+ {
25+ var dog = new { Name = "Spot" } ;
26+ var json = DynamicJson . Serialize ( dog ) ;
2627
27- Assert . That ( json , Is . EqualTo ( "{\" Name\" :\" Spot\" }" ) ) ;
28+ Assert . That ( json , Is . EqualTo ( "{\" Name\" :\" Spot\" }" ) ) ;
2829
29- var deserialized = DynamicJson . Deserialize ( json ) ;
30+ var deserialized = DynamicJson . Deserialize ( json ) ;
3031
31- Assert . IsNotNull ( deserialized ) ;
32- Assert . That ( deserialized . Name , Is . EqualTo ( dog . Name ) ) ;
32+ Assert . IsNotNull ( deserialized ) ;
33+ Assert . That ( deserialized . Name , Is . EqualTo ( dog . Name ) ) ;
34+ }
35+
36+ public class Customer
37+ {
38+ public string Name { get ; set ; }
39+ }
40+
41+ [ Test ]
42+ public void Can_IncludeTypeInfo_within_JsConfigScope ( )
43+ {
44+ JsConfig . IncludeTypeInfo = false ;
45+
46+ var cus = new Customer { Name = "Foo" } ;
47+
48+ Assert . That ( JsonSerializer . SerializeToString ( cus ) , Does . Not . Contain ( "__type" ) ) ;
49+
50+ using ( JsConfig . With ( new Config { IncludeTypeInfo = true } ) )
51+ {
52+ Assert . That ( JsonSerializer . SerializeToString ( cus ) , Does . Contain ( "__type" ) ) ;
3353 }
54+
55+ Assert . That ( JsonSerializer . SerializeToString ( cus ) , Does . Not . Contain ( "__type" ) ) ;
56+
57+ JsConfig . Reset ( ) ;
3458 }
35- }
59+
60+ }
0 commit comments