public void WhenFilteringPetSummary_Success() { _petApiClient.GetAllPerson().Returns(_inputPersonPetData); var personPetReadService = new PersonPetReadService(_petApiClient); var filterResult = personPetReadService.GetFilteredDataByPetType(PetType.Cat); Assert.IsTrue(filterResult != null); var genderPetCategoryDtos = filterResult as GenderPetCategoryDto[] ?? filterResult.ToArray(); Assert.AreEqual(genderPetCategoryDtos.ToList().Count, 2); Assert.AreEqual(genderPetCategoryDtos.ToList().Where(p => p.GenderType == GenderType.Male).SelectMany(p => p.Pets).Count(), 4); Assert.AreEqual(genderPetCategoryDtos.ToList().Where(p => p.GenderType == GenderType.Female).SelectMany(p => p.Pets).Count(), 3); }
public void WhenRetrievingPetSummary_Success() { _petApiClient.GetAllPerson().Returns(_inputPersonPetData); var personPetReadService = new PersonPetReadService(_petApiClient); var summaryResult = personPetReadService.GetCategorizePets(PetType.Cat); Assert.IsTrue(summaryResult != null); Assert.AreEqual(summaryResult.Count, 2); Assert.AreEqual(summaryResult.Count(p => p.GenderType == Enum.GetName(typeof(GenderType), GenderType.Male)), 1); Assert.AreEqual(summaryResult.Count(p => p.GenderType == Enum.GetName(typeof(GenderType), GenderType.Female)), 1); Assert.AreEqual(summaryResult.Where(p => p.GenderType == Enum.GetName(typeof(GenderType), GenderType.Male)).SelectMany(q => q.Pets).Count(), 4); Assert.AreEqual(summaryResult.Where(p => p.GenderType == Enum.GetName(typeof(GenderType), GenderType.Female)).SelectMany(q => q.Pets).Count(), 3); }