|
@@ -1,44 +1,44 @@
|
|
|
-using System;
|
|
|
-using System.Collections.Generic;
|
|
|
-using System.Linq;
|
|
|
-using System.Text;
|
|
|
-using Topten.JsonKit;
|
|
|
-using System.IO;
|
|
|
-using System.Reflection;
|
|
|
-using Xunit;
|
|
|
-
|
|
|
-namespace TestCases
|
|
|
-{
|
|
|
- [Obfuscation(Exclude = true, ApplyToMembers = true)]
|
|
|
- public class TestExcludeIfEquals
|
|
|
- {
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.Linq;
|
|
|
+using System.Text;
|
|
|
+using Topten.JsonKit;
|
|
|
+using System.IO;
|
|
|
+using System.Reflection;
|
|
|
+using Xunit;
|
|
|
+
|
|
|
+namespace TestCases
|
|
|
+{
|
|
|
+ [Obfuscation(Exclude = true, ApplyToMembers = true)]
|
|
|
+ public class TestExcludeIfEquals
|
|
|
+ {
|
|
|
enum Fruit
|
|
|
{
|
|
|
Apples,
|
|
|
Pears,
|
|
|
Bananas,
|
|
|
- }
|
|
|
- class Thing
|
|
|
- {
|
|
|
- [Json("boolField", ExcludeIfEquals = false)]
|
|
|
- public bool boolField;
|
|
|
-
|
|
|
- [Json("intField", ExcludeIfEquals = 0)]
|
|
|
- public int intField;
|
|
|
-
|
|
|
- [Json("boolProperty", ExcludeIfEquals = false)]
|
|
|
- public bool boolProperty { get; set; }
|
|
|
-
|
|
|
- [Json("intProperty", ExcludeIfEquals = 0)]
|
|
|
- public int intProperty { get; set; }
|
|
|
-
|
|
|
- [Json("enumField", ExcludeIfEquals = Fruit.Apples)]
|
|
|
- public Fruit enumField;
|
|
|
-
|
|
|
- [Json("enumProperty", ExcludeIfEquals = Fruit.Apples)]
|
|
|
- public Fruit enumProperty { get; set; }
|
|
|
- }
|
|
|
-
|
|
|
+ }
|
|
|
+ class Thing
|
|
|
+ {
|
|
|
+ [Json("boolField", ExcludeIfEquals = false)]
|
|
|
+ public bool boolField;
|
|
|
+
|
|
|
+ [Json("intField", ExcludeIfEquals = 0)]
|
|
|
+ public int intField;
|
|
|
+
|
|
|
+ [Json("boolProperty", ExcludeIfEquals = false)]
|
|
|
+ public bool boolProperty { get; set; }
|
|
|
+
|
|
|
+ [Json("intProperty", ExcludeIfEquals = 0)]
|
|
|
+ public int intProperty { get; set; }
|
|
|
+
|
|
|
+ [Json("enumField", ExcludeIfEquals = Fruit.Apples)]
|
|
|
+ public Fruit enumField;
|
|
|
+
|
|
|
+ [Json("enumProperty", ExcludeIfEquals = Fruit.Apples)]
|
|
|
+ public Fruit enumProperty { get; set; }
|
|
|
+ }
|
|
|
+
|
|
|
public static object GetDefault(Type type)
|
|
|
{
|
|
|
if (type.IsValueType)
|
|
@@ -47,10 +47,10 @@ namespace TestCases
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
-
|
|
|
- [Fact]
|
|
|
- public void TestDoesntWrite()
|
|
|
- {
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void TestDoesntWrite()
|
|
|
+ {
|
|
|
var thing = new Thing()
|
|
|
{
|
|
|
boolField = false,
|
|
@@ -59,48 +59,48 @@ namespace TestCases
|
|
|
intProperty = 0,
|
|
|
enumField = Fruit.Apples,
|
|
|
enumProperty = Fruit.Apples,
|
|
|
- };
|
|
|
-
|
|
|
- // Save it
|
|
|
- var json = Json.Format(thing);
|
|
|
-
|
|
|
- // Check the object kinds were written out
|
|
|
- Assert.DoesNotContain("\"boolField\":", json);
|
|
|
- Assert.DoesNotContain("\"intField\":", json);
|
|
|
- Assert.DoesNotContain("\"boolProperty\":", json);
|
|
|
- Assert.DoesNotContain("\"intProperty\":", json);
|
|
|
- Assert.DoesNotContain("\"enumField\":", json);
|
|
|
- Assert.DoesNotContain("\"enumProperty\":", json);
|
|
|
- }
|
|
|
-
|
|
|
- [Fact]
|
|
|
- public void TestDoesWriteNonNull()
|
|
|
- {
|
|
|
- var thing = new Thing()
|
|
|
- {
|
|
|
+ };
|
|
|
+
|
|
|
+ // Save it
|
|
|
+ var json = Json.Format(thing);
|
|
|
+
|
|
|
+ // Check the object kinds were written out
|
|
|
+ Assert.DoesNotContain("\"boolField\":", json);
|
|
|
+ Assert.DoesNotContain("\"intField\":", json);
|
|
|
+ Assert.DoesNotContain("\"boolProperty\":", json);
|
|
|
+ Assert.DoesNotContain("\"intProperty\":", json);
|
|
|
+ Assert.DoesNotContain("\"enumField\":", json);
|
|
|
+ Assert.DoesNotContain("\"enumProperty\":", json);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void TestDoesWriteNonNull()
|
|
|
+ {
|
|
|
+ var thing = new Thing()
|
|
|
+ {
|
|
|
boolField = true,
|
|
|
intField = 23,
|
|
|
boolProperty = true,
|
|
|
intProperty = 24,
|
|
|
enumField = Fruit.Pears,
|
|
|
enumProperty = Fruit.Bananas,
|
|
|
- };
|
|
|
-
|
|
|
- // Save it
|
|
|
- var json = Json.Format(thing);
|
|
|
-
|
|
|
- // Check the object kinds were written out
|
|
|
- Assert.Contains("\"boolField\":", json);
|
|
|
- Assert.Contains("\"intField\":", json);
|
|
|
- Assert.Contains("\"boolProperty\":", json);
|
|
|
- Assert.Contains("\"intProperty\":", json);
|
|
|
- Assert.Contains("\"enumField\":", json);
|
|
|
- Assert.Contains("\"enumProperty\":", json);
|
|
|
- Assert.Contains("true", json);
|
|
|
- Assert.Contains("23", json);
|
|
|
- Assert.Contains("24", json);
|
|
|
- Assert.Contains("Pears", json);
|
|
|
- Assert.Contains("Bananas", json);
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
+ };
|
|
|
+
|
|
|
+ // Save it
|
|
|
+ var json = Json.Format(thing);
|
|
|
+
|
|
|
+ // Check the object kinds were written out
|
|
|
+ Assert.Contains("\"boolField\":", json);
|
|
|
+ Assert.Contains("\"intField\":", json);
|
|
|
+ Assert.Contains("\"boolProperty\":", json);
|
|
|
+ Assert.Contains("\"intProperty\":", json);
|
|
|
+ Assert.Contains("\"enumField\":", json);
|
|
|
+ Assert.Contains("\"enumProperty\":", json);
|
|
|
+ Assert.Contains("true", json);
|
|
|
+ Assert.Contains("23", json);
|
|
|
+ Assert.Contains("24", json);
|
|
|
+ Assert.Contains("Pears", json);
|
|
|
+ Assert.Contains("Bananas", json);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|