public MunroFiltteringResult SortByCategory(List <Munro> munroData, HillCategory hillCategory) { var result = new MunroFiltteringResult(); if (munroData?.Count > 0) { switch (hillCategory) { case HillCategory.Munro: { result.MunroList = munroData.Where(element => element.Category.Equals("MUN")).ToList(); break; } case HillCategory.MunroTop: { result.MunroList = munroData.Where(element => element.Category.Equals("TOP")).ToList(); break; } default: { result.MunroList = munroData.Where(element => element.Category.Length > 0).ToList(); break; } } } else { result.Error = "list of Data is null or Empty"; } return(result); }
public void GetMunros_WhenCalledWithSpecificCategory_ReturnsOnlyMunrosWithThatCategory(int numMuns, int numTops, HillCategory category) { const int numBlanks = 20; var fakeDataContext = FakeMunroDataContext.GenerateFakeMunroDataContext(numMuns, numTops, numBlanks, 10, 1000); var service = new MunroService(fakeDataContext, testMapper); var result = service.GetMunros(new MunroQuery { Category = category }).ToList(); switch (category) { case HillCategory.Munro: Assert.Equal(numMuns, result.Count); Assert.All(result, munro => Assert.Equal("MUN", munro.HillCategory)); break; case HillCategory.Top: Assert.Equal(numTops, result.Count); Assert.All(result, munro => Assert.Equal("TOP", munro.HillCategory)); break; case HillCategory.Either: Assert.Equal(numMuns + numTops, result.Count); Assert.All(result, munro => Assert.NotEqual("", munro.HillCategory)); break; } Assert.NotEqual(result.Count, fakeDataContext.Munros.Count()); }