public void ShouldReturnCatNamesOnlyWhenMixTypeProvided() { List <PetOwner> actualList = new List <PetOwner> { new PetOwner { Gender = "male", Pets = new List <Pet> { new Pet { Name = "Jacky", Type = "Dog" } } }, new PetOwner { Gender = "female", Pets = new List <Pet> { new Pet { Name = "Rock", Type = "Dog" }, new Pet { Name = "Ket", Type = "Cat" } } }, new PetOwner { Gender = "unspecified", Pets = new List <Pet> { new Pet { Name = "Raty", Type = "Cat" }, new Pet { Name = "Stone", Type = "Horse" } } } }; CatNamesByOwnerGender expected = new CatNamesByOwnerGender(); expected.Add("female", new List <string> { "Ket" }); expected.Add("unspecified", new List <string> { "Raty" }); CatNamesByOwnerGender actual = CatProcessor.LoadCatNamesByOwnerGender(actualList); Assert.AreEqual(expected["female"].Count, actual["female"].Count); Assert.AreEqual(expected["unspecified"].Count, actual["unspecified"].Count); // TODO: Add object comparison }
public void ShouldFormatWhenNonNullObjectIsPassed() { string expected = "<html><body><h5>a</h5><ul><li>apple</li><li>apricots</li></ul></body></html>"; CatNamesByOwnerGender viewModel = new CatNamesByOwnerGender(); viewModel.Add("a", new List <string> { "apple", "apricots" }); string actual = HTMLProcessor.FormatHTML(viewModel); Assert.AreEqual(expected, actual); }
public static CatNamesByOwnerGender LoadCatNamesByOwnerGender(List <PetOwner> catOwners) { CatNamesByOwnerGender catNamesWithOwnerGender = new CatNamesByOwnerGender(); foreach (PetOwner catOwner in catOwners) { if (catNamesWithOwnerGender.ContainsKey(catOwner.Gender)) { catNamesWithOwnerGender[catOwner.Gender].AddRange(catOwner.Pets.Where(pet => pet.Type.ToLowerInvariant() == Pets.cat).Select(pet => pet.Name).ToList()); } else { catNamesWithOwnerGender.Add(catOwner.Gender, catOwner.Pets.Where(pet => pet.Type.ToLowerInvariant() == Pets.cat).Select(pet => pet.Name).ToList()); } } return(catNamesWithOwnerGender); }
public void ShouldSortCatNamesInTheObject() { CatNamesByOwnerGender expected = new CatNamesByOwnerGender(); expected.Add("fruits", new List <string> { "apple", "banana", "kiwi" }); CatNamesByOwnerGender viewModel = new CatNamesByOwnerGender(); viewModel.Add("fruits", new List <string> { "banana", "kiwi", "apple" }); CatNamesByOwnerGender actual = CatProcessor.SortCatNames(viewModel); CollectionAssert.AreEqual(expected["fruits"], actual["fruits"]); }