public void NullCollectionProperties_DoNotSerialize_FromEntity(string propertyName, NullCollectionsTestMode testMode) { // Arrange NullCollectionsTestsModel testObject = new NullCollectionsTestsModel(); testObject.GetType().GetProperty(propertyName).SetValue(testObject, null); _config.SetDoNotSerializeNullCollections(true); NullCollectionsTestsController.TestObject = testObject; // Act HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/NullCollectionsTests/"); HttpResponseMessage response = _client.SendAsync(request).Result; // Assert response.EnsureSuccessStatusCode(); string responseJson = response.Content.ReadAsStringAsync().Result; dynamic result = JToken.Parse(responseJson); Assert.Null(result[propertyName]); }
public void NullCollectionProperties_NormalFail_FromEntity(string propertyName, NullCollectionsTestMode testMode) { // Arrange NullCollectionsTestsModel testObject = new NullCollectionsTestsModel(); testObject.GetType().GetProperty(propertyName).SetValue(testObject, null); NullCollectionsTestsController.TestObject = testObject; // Act HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/NullCollectionsTests/"); try { HttpResponseMessage response = _client.SendAsync(request).Result; response.EnsureSuccessStatusCode(); } catch (Exception e) { // Assert Assert.Equal("Null collections cannot be serialized.", e.InnerException.Message); } }