예제 #1
0
        public void ShoulReturnProperCategoriesForLevels()
        {
            //proper level of categories nesting
            var repository = new CategoriesRepository(HierarchicalDatasetProvider.Seed());

            Assert.True(
                repository.CategoryNthLevel(1)
                .Select(x => x.Level)
                .Distinct()
                .First() == 1);
        }
예제 #2
0
        static void Main(string[] args)
        {
            JsonConvert.DefaultSettings = () => new JsonSerializerSettings()
            {
                MaxDepth = 3,
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            };


            var categories = HierarchicalDatasetProvider.Seed();
            var repository = new CategoriesRepository(categories);


            ProcessCategoryId(201);
            ProcessCategoryId(202);

            ProcessCategoryLevel(2);
            ProcessCategoryLevel(3);


            void ProcessCategoryId(int id)
            {
                var result = repository.GetById(201);

                Console.WriteLine($"by category id: {id} >>>");
                Console.WriteLine(JsonConvert.SerializeObject(new { result.ParentId, result.Name, result.Keywords }));

                Console.ReadLine();
            }

            void ProcessCategoryLevel(int level)
            {
                var result = repository.CategoryNthLevel(level).Select(x => new { x.Id, x.Level });

                Console.WriteLine($"by level: {level} >>>");
                Console.WriteLine(JsonConvert.SerializeObject(result));

                Console.ReadLine();
            }
        }
예제 #3
0
        public void ShoulReturnTopLevelCategories()
        {
            var repository = new CategoriesRepository(HierarchicalDatasetProvider.Seed());

            Assert.True(repository.CategoryNthLevel(1).Any());
        }