public void CreateSetWithBadObjectTarget() { AssertException.Throws<InvalidCastException>(() => { Person p = new Person(); Movie m = new Movie(); Action<object, object> setter = DynamicReflectionDelegateFactory.Instance.CreateSet<object>(typeof(Movie).GetProperty("Name")); setter(m, "Hi"); Assert.Equal(m.Name, "Hi"); setter(p, "Hi"); Assert.Equal(p.Name, "Hi"); }, "Unable to cast object of type 'OpenGamingLibrary.Json.Test.TestObjects.Person' to type 'OpenGamingLibrary.Json.Test.TestObjects.Movie'."); }
public void NullValueHandlingBlogPost() { Movie movie = new Movie(); movie.Name = "Bad Boys III"; movie.Description = "It's no Bad Boys"; string included = JsonConvert.SerializeObject(movie, Formatting.Indented, new JsonSerializerSettings { }); // { // "Name": "Bad Boys III", // "Description": "It's no Bad Boys", // "Classification": null, // "Studio": null, // "ReleaseDate": null, // "ReleaseCountries": null // } string ignored = JsonConvert.SerializeObject(movie, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); // { // "Name": "Bad Boys III", // "Description": "It's no Bad Boys" // } StringAssert.Equal(@"{ ""Name"": ""Bad Boys III"", ""Description"": ""It's no Bad Boys"", ""Classification"": null, ""Studio"": null, ""ReleaseDate"": null, ""ReleaseCountries"": null }", included); StringAssert.Equal(@"{ ""Name"": ""Bad Boys III"", ""Description"": ""It's no Bad Boys"" }", ignored); }
public void CreateSetWithBadObjectValue() { AssertException.Throws<InvalidCastException>(() => { Movie m = new Movie(); Action<object, object> setter = DynamicReflectionDelegateFactory.Instance.CreateSet<object>(typeof(Movie).GetProperty("Name")); setter(m, new Version("1.1.1.1")); }, "Unable to cast object of type 'System.Version' to type 'System.String'."); }