public void Query_String_ComplexType_Type_Get(string action, string queryString, string itemName, int quantity, string customerName) { // Arrange HttpRequestMessage request = new HttpRequestMessage() { RequestUri = new Uri(baseAddress + String.Format("ModelBinding/{0}?{1}", action, queryString)), Method = HttpMethod.Get }; ModelBindOrder expectedItem = new ModelBindOrder() { ItemName = itemName, Quantity = quantity, Customer = new ModelBindCustomer { Name = customerName } }; // Act HttpResponseMessage response = httpClient.SendAsync(request).Result; // Assert ModelBindOrder actualItem = response.Content.ReadAsAsync<ModelBindOrder>().Result; Assert.Equal<ModelBindOrder>(expectedItem, actualItem, new ModelBindOrderEqualityComparer()); }
public void Body_Binds_ComplexType_Type_Key_Value_Read(string action, string mediaType) { // Arrange ModelBindOrder expectedItem = new ModelBindOrder() { ItemName = "Bike", Quantity = 1, Customer = new ModelBindCustomer { Name = "Fred" } }; var formatter = new MediaTypeFormatterCollection().Find(mediaType); HttpRequestMessage request = new HttpRequestMessage { Content = new ObjectContent<ModelBindOrder>(expectedItem, formatter), RequestUri = new Uri(baseAddress + String.Format("ModelBinding/{0}", action)), Method = HttpMethod.Post, }; // Act HttpResponseMessage response = httpClient.SendAsync(request).Result; // Assert ModelBindOrder actualItem = response.Content.ReadAsAsync<ModelBindOrder>().Result; Assert.Equal<ModelBindOrder>(expectedItem, actualItem, new ModelBindOrderEqualityComparer()); }