public void ApplyFilters_mockInputList_Expect3elements()
        {
            Predicate <PieceOfClothing> test    = new Predicate <PieceOfClothing>(x => x.InUse == true);
            FilteringSortingConditions  sorting = new FilteringSortingConditions()
            {
                Name       = "new",
                Conditions = test,
                Sorting    = new SortingConditions()
                {
                    Name      = "test",
                    Condition = new Func <PieceOfClothing, object>(x => x.Name)
                },
                Order = new SortingOrder()
                {
                    Name      = "asc",
                    Direction = true
                }
            };

            var result = sorting.Sort(mockInputList);

            Assert.AreEqual(result.Count, 3);
            Assert.AreEqual("Afg", result[0].Name);
            Assert.AreEqual("bbbb", result[1].Name);
            Assert.AreEqual("Zas", result[2].Name);
        }
        public FilteringService(IEventAggregator eventAggregator, ITypeFilteringConditionsService typeFilteringConditionsService)
        {
            this.eventAggregator = eventAggregator;
            this.typeFilteringConditionsService = typeFilteringConditionsService;

            FilterTabs    = FilteringSortingConditions.GenerateStandardConditions();
            currentFilter = FilterTabs[0];

            TypesFilterList = typeFilteringConditionsService.Conditions;
            typeFilteringConditionsService.FilteringConditionsUpdated += TypeFilteringConditionsService_FilteringConditionsUpdated;
            currentTypeFilter = TypesFilterList[0];
        }