Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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());
        }