public void MapQueryItemShouldMapInfluence(InfluenceType influenceType, BoolOptionAccessor filterOptionAccessor)
        {
            var item = new EquippableItem(ItemRarity.Normal)
            {
                Influence = influenceType
            };

            SearchQueryRequest result = this.equippableItemToQueryRequestMapper.MapToQueryRequest(item) as SearchQueryRequest;

            BoolOptionFilter filter = filterOptionAccessor(result);

            Assert.That(filter, Is.Not.Null);
            Assert.That(filter.Option, Is.True);
        }
        public void MapToQueryItemShouldMapBlightRavaged(bool isBlightRavaged)
        {
            var item = new MapItem(ItemRarity.Normal)
            {
                IsBlightRavaged = isBlightRavaged
            };

            SearchQueryRequest result = this.mapItemSearchQueryRequestMapper.MapToQueryRequest(item) as SearchQueryRequest;

            BoolOptionFilter blightRavaged = result.Query.Filters.MapFilters.MapBlightRavaged;

            Assert.NotNull(blightRavaged);
            Assert.That(blightRavaged.Option, Is.EqualTo(isBlightRavaged));
        }
Exemple #3
0
        public void CreateShouldReturnCorruptedFilterViewModelWithValueFromQueryRequest()
        {
            Expression <Func <SearchQueryRequest, IFilter> > expectedBindingExpression = x => x.Query.Filters.MiscFilters.Corrupted;
            var equippableItem = new EquippableItem(ItemRarity.Rare)
            {
                IsCorrupted = true
            };

            var queryRequestFilter = new BoolOptionFilter
            {
                Option = false
            };

            this.CreateShouldReturnBindableFilterViewModelWithValueFromQueryRequest(expectedBindingExpression, equippableItem, Resources.Corrupted, queryRequestFilter);
        }
Exemple #4
0
        public void CreateShouldReturnInfluenceFilterViewModelWithValueFromSearchQueryRequest(Expression <Func <SearchQueryRequest, IFilter> > expectedBindingExpression, InfluenceType influenceType)
        {
            // arrange
            var equippableItem = new EquippableItem(ItemRarity.Unique)
            {
                Influence = influenceType
            };

            var queryRequestFilter = new BoolOptionFilter
            {
                Option = true
            };

            // act & assert
            this.CreateShouldReturnBindableFilterViewModelWithValueFromQueryRequest(expectedBindingExpression, equippableItem, equippableItem.Influence.GetDisplayName(), queryRequestFilter);
        }
Exemple #5
0
        public void CreateShouldMapAdditionalBoolFilterToQuery(bool value)
        {
            BindableFilterViewModel additionalFilter = new BindableFilterViewModel(x => x.Query.Filters.MiscFilters.CrusaderItem)
            {
                IsEnabled = value
            };
            var advancedFiltersViewModel = GetAdvancedFiltersViewModel(null, new[] { additionalFilter });

            SearchQueryRequest result = this.queryRequestFactory.Create(new SearchQueryRequest(), advancedFiltersViewModel) as SearchQueryRequest;

            Assert.NotNull(result);

            BoolOptionFilter crusaderItemFilter = result.Query.Filters.MiscFilters.CrusaderItem;

            Assert.NotNull(crusaderItemFilter);
            Assert.That(crusaderItemFilter.Option, Is.EqualTo(value));
        }
Exemple #6
0
        private static IFilter GetFilter(FilterViewModelBase filterViewModel)
        {
            IFilter filter = null;

            if (filterViewModel is BindableSocketsFilterViewModel socketsFilterViewModel)
            {
                if (socketsFilterViewModel.IsEnabled == true)
                {
                    filter = new SocketsFilter
                    {
                        Min   = socketsFilterViewModel.Min,
                        Max   = GetMaxValue(socketsFilterViewModel),
                        Red   = socketsFilterViewModel.Red,
                        Green = socketsFilterViewModel.Green,
                        Blue  = socketsFilterViewModel.Blue,
                        White = socketsFilterViewModel.White
                    };
                }
            }
            else if (filterViewModel is IMinMaxFilterViewModel minMaxFilterViewModel)
            {
                if (minMaxFilterViewModel.IsEnabled == true)
                {
                    filter = new MinMaxFilter
                    {
                        Min = minMaxFilterViewModel.Min,
                        Max = GetMaxValue(minMaxFilterViewModel)
                    };
                }
            }
            else
            {
                if (filterViewModel.IsEnabled.HasValue)
                {
                    filter = new BoolOptionFilter
                    {
                        Option = filterViewModel.IsEnabled.Value
                    };
                }
            }

            return(filter);
        }
        protected void CreateShouldReturnBindableFilterViewModelWithValueFromQueryRequest(Expression <Func <SearchQueryRequest, IFilter> > expectedBindingExpression, Item item, string text, BoolOptionFilter queryRequestFilter)
        {
            // arrange
            var expected = new BindableFilterViewModel(expectedBindingExpression)
            {
                Text      = text,
                IsEnabled = queryRequestFilter.Option
            };

            var searchQueryRequest = new SearchQueryRequest();

            SetValueByExpression(expectedBindingExpression, searchQueryRequest, queryRequestFilter);

            // act
            IEnumerable <FilterViewModelBase> result = this.AdditionalFilterViewModelsFactory.Create(item, searchQueryRequest);

            //assert
            Assert.IsNotNull(result);
            Assert.IsNotEmpty(result);

            Assert.That(result, Has.One.Matches <FilterViewModelBase>(x => MatchBindableFilterViewModel(x, expected)));
        }