public void GetPetsByOwnersGender_WhenQueriedByGender_ReturnsFilteredResult_OrderedByName(string gender) { var service = new GetPetsByOwnersGenderService(new LoggerFactory(), _mockRepository.Object); var response = service.Invoke(new GetCatsByOwnersGenderRequest { OwnerGender = gender }); foreach (var petsByGender in response.CatsByOwnersGenders) { var catNames = petsByGender.Cats.ToList(); Assert.Equal(3, catNames.Count); if (petsByGender.OwnerGender == "Male") { Assert.Equal("Garfield", catNames[0]); Assert.Equal("Max", catNames[1]); Assert.Equal("Tom", catNames[2]); } else { Assert.Equal("Garfield", catNames[0]); Assert.Equal("Simba", catNames[1]); Assert.Equal("Tabby", catNames[2]); } } }
public void GetPetsByOwnersGender_GivenNoCats_WhenQueriedByGender_ReturnsEmptyList(string gender) { var mockRepository = new Mock <IRepository <Owner> >(); mockRepository.Setup(x => x.GetAll()).Returns(new List <Owner> { new Owner { Name = "Bob", Gender = "Male", Age = 23, Pets = new List <Pet> { new Pet { Name = "Sam", Type = "Dog" } } }, new Owner { Name = "Jennifer", Gender = "Female", Age = 18, Pets = new List <Pet> { } }, new Owner { Name = "Fred", Gender = "Male", Age = 40, Pets = null } }); var service = new GetPetsByOwnersGenderService(new LoggerFactory(), mockRepository.Object); var response = service.Invoke(new GetCatsByOwnersGenderRequest { OwnerGender = gender }); foreach (var petsByGender in response.CatsByOwnersGenders) { var pets = petsByGender.Cats.ToList(); Assert.Empty(pets); } }