public void CanConvertTest(Type type, bool expectedResult) { // Arrange var converter = new ObfuscatorJsonConverter(new Data()); // Act and Assert Assert.Equal(expectedResult, converter.CanConvert(type)); }
public void WriteHappyJson() { // Arrange var dataChild = new Data("name", "1.1.1.1", "authors", 1, "abc", 2.5, null); var data = new Data("name", "1.1.1.1", "authors", 1, "abc", 2.5, dataChild); var obfuscatorConverter = new ObfuscatorJsonConverter(data); var stringBuilder = new StringBuilder(); var jsonWriter = new JsonTextWriter(new StringWriter(stringBuilder)); // Act var settings = new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.IsoDateFormat, DateTimeZoneHandling = DateTimeZoneHandling.Utc, DefaultValueHandling = DefaultValueHandling.Include, Formatting = Formatting.Indented, MaxDepth = 10, MissingMemberHandling = MissingMemberHandling.Ignore, NullValueHandling = NullValueHandling.Include, TypeNameHandling = TypeNameHandling.None, }; settings.Converters.Add(new StringEnumConverter()); settings.Converters.Add(obfuscatorConverter); var resultString = JsonConvert.SerializeObject(data, settings); var result = JObject.Parse(resultString); // Assert Assert.Equal <string>("ObfuscatedUserName", result["UserName"].ToString()); Assert.Equal <string>("1.1.1.0", result["IP"].ToString()); Assert.Equal <string>(string.Empty, result["Authors"].ToString()); Assert.Equal <string>("-1", result["UserKey"].ToString()); Assert.Equal <string>("abc", result["SupportedTypeRandom"].ToString()); Assert.Equal <string>("2.5", Convert.ToString(result["NotSupportedTypeRandom"], CultureInfo.InvariantCulture)); Assert.Equal <string>("ObfuscatedUserName", result["OtherData"]["UserName"].ToString()); Assert.Equal <string>("1.1.1.0", result["OtherData"]["IP"].ToString()); Assert.Equal <string>(string.Empty, result["OtherData"]["Authors"].ToString()); Assert.Equal <string>("-1", result["OtherData"]["UserKey"].ToString()); Assert.Equal <string>("abc", result["SupportedTypeRandom"].ToString()); Assert.Equal <string>("2.5", Convert.ToString(result["OtherData"]["NotSupportedTypeRandom"], CultureInfo.InvariantCulture)); }