public void GetGendersWithPetType_WithAllGendersHavingPetType_ReturnsAllGenders() { Setup(); var _owners = new List <Owner> { new Owner { Name = "AAA", Age = 30, Gender = Gender.Female, Pets = new List <Pet> { new Pet { Name = "AAA_Pet", Type = PetType.Cat } } }, new Owner { Name = "BBB", Age = 40, Gender = Gender.Male, Pets = new List <Pet> { new Pet { Name = "BBB_Pet", Type = PetType.Cat } } }, new Owner { Name = "CCC", Age = 50, Gender = Gender.Female, Pets = new List <Pet> { new Pet { Name = "CCC_Pet", Type = PetType.Dog }, new Pet { Name = "CCC_Pet2", Type = PetType.Cat } } } }; _ownerRepository.GetOwners().Returns(_owners); var genders = _ownerService.GetGendersForPetType(PetType.Cat).ToList(); Assert.AreEqual(2, genders.Count()); Assert.AreEqual(Gender.Female, genders[0].Gender); Assert.AreEqual(2, genders[0].Pets.Count()); Assert.AreEqual(Gender.Male, genders[1].Gender); Assert.AreEqual(1, genders[1].Pets.Count()); _ownerRepository.Received(1).GetOwners(); }