public void ShouldReturnFilteredResponseModel() { //desrialize the sample json to Request object Request payload = JsonConvert.DeserializeObject <Request>(File.ReadAllText(@"sample_request.json")); //deserialize sample json output to ResponseModel object ResponseModel expected = JsonConvert.DeserializeObject <ResponseModel>(File.ReadAllText(@"sample_response.json")); //Arrange var controller = new ShowsController(); controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); //Act var response = controller.PostShow(payload); //Assert response.TryGetContentValue <ResponseModel>(out ResponseModel actual); Assert.AreEqual(expected.Response.Length, actual.Response.Length); for (int i = 0; i < expected.Response.Length; i++) { Assert.AreEqual(expected.Response[i].Image, actual.Response[i].Image); Assert.AreEqual(expected.Response[i].Slug, actual.Response[i].Slug); Assert.AreEqual(expected.Response[i].Title, actual.Response[i].Title); } }