public async Task GetCatsByOwnerGender() { GetPetsModel petDetails = null; // Arrange PetRepository repository = new PetRepository(); PetManager manager = new PetManager(repository); PetController controller = new PetController(manager); // controller.Request = new HttpRequestMessage(); controller.Configuration = new HttpConfiguration(); // Act var response = await controller.GetPetsByOwnerGender(PetType.Cat); if (response.IsSuccessStatusCode) { petDetails = await response.Content.ReadAsAsync <GetPetsModel>(); } // Assert Assert.IsNotNull(petDetails); // Assert.AreEqual(4, petDetails.MaleOwnedCats.Count()); Assert.AreEqual(3, petDetails.FemaleOwnedCats.Count()); // Assert.AreEqual("Garfield", petDetails.MaleOwnedCats.ElementAt(0).Name); Assert.AreEqual("Jim", petDetails.MaleOwnedCats.ElementAt(1).Name); Assert.AreEqual("Max", petDetails.MaleOwnedCats.ElementAt(2).Name); Assert.AreEqual("Tom", petDetails.MaleOwnedCats.ElementAt(3).Name); // Assert.AreEqual("Garfield", petDetails.FemaleOwnedCats.ElementAt(0).Name); Assert.AreEqual("Simba", petDetails.FemaleOwnedCats.ElementAt(1).Name); Assert.AreEqual("Tabby", petDetails.FemaleOwnedCats.ElementAt(2).Name); }