public void TestGenericStuff() { var noCamelSerializerSettings = new JsonSerializerSettings(); var myObject = new { Age = (int?)27, AgeNull = (int?)null, Name = "David", NameNull = (string)null, MyProfile = new { Address = "1234 Any Street" }, MyValues = new[] { new { Storms = "Norm" }, new { Storms = "Strange" } } }; var myJson = JsonConvert.SerializeObject(myObject, noCamelSerializerSettings); var jsonBase = new JsonBase { JsonObject = JObject.Parse(myJson) }; var resultAge = new PrimitiveTypeHandler <int?>().GetPropertyValue(jsonBase, "Age"); var resultNull = new PrimitiveTypeHandler <int?>().GetPropertyValue(jsonBase, "AgeNull"); var nameResult = new PrimitiveTypeHandler <string>().GetPropertyValue(jsonBase, "Name"); var nameNullResult = new PrimitiveTypeHandler <string>().GetPropertyValue(jsonBase, "NameNull"); Assert.AreEqual(27, resultAge); Assert.AreEqual(null, resultNull); Assert.AreEqual("David", nameResult); Assert.AreEqual(null, nameNullResult); var valueToken = jsonBase.ForceGetValuePropertyToken("Hokey"); Assert.IsNotNull(valueToken); Assert.IsNull(valueToken.Value <string>()); }
public void StringTypeHandlerTest() { var myObject = new { Age = (int?)27, AgeNull = (int?)null, Name = "David", NameNull = (string)null, MyProfile = new { Address = "1234 Any Street" }, MyValues = new[] { new { Storms = "Norm" }, new { Storms = "Strange" } } }; var myJson = JsonConvert.SerializeObject(myObject); var jsonBase = new JsonBase { JsonObject = JObject.Parse(myJson) }; var stringTypeHandler = new PrimitiveTypeHandler <string>(); var nameValue = stringTypeHandler.GetPropertyValue(jsonBase, nameof(myObject.Name)); var nameNullValue = stringTypeHandler.GetPropertyValue(jsonBase, nameof(myObject.NameNull)); Assert.AreEqual("David", nameValue); Assert.AreEqual(null, nameNullValue); stringTypeHandler.SetPropertyValue(jsonBase, jsonBase.GetJsonPropertyNameFromPropertyName(nameof(myObject.Name)), "Seth"); stringTypeHandler.SetPropertyValue(jsonBase, jsonBase.GetJsonPropertyNameFromPropertyName(nameof(myObject.NameNull)), "SethNotNull"); nameValue = stringTypeHandler.GetPropertyValue(jsonBase, jsonBase.GetJsonPropertyNameFromPropertyName(nameof(myObject.Name))); nameNullValue = stringTypeHandler.GetPropertyValue(jsonBase, jsonBase.GetJsonPropertyNameFromPropertyName(nameof(myObject.NameNull))); Assert.AreEqual("Seth", nameValue); Assert.AreEqual("SethNotNull", nameNullValue); }