protected void CreateShouldReturnBindableSocketsFilterViewModelWithValuesFromQueryRequest(
            Expression <Func <SearchQueryRequest, IFilter> > expectedBindingExpression,
            Item item,
            int?currentValue,
            string text,
            SocketsFilter queryRequestFilter)
        {
            // arrange
            var expected = new BindableSocketsFilterViewModel(expectedBindingExpression)
            {
                Min       = queryRequestFilter.Min,
                Max       = queryRequestFilter.Max,
                Red       = queryRequestFilter.Red,
                Green     = queryRequestFilter.Green,
                Blue      = queryRequestFilter.Blue,
                White     = queryRequestFilter.White,
                Current   = currentValue.ToString(),
                Text      = text,
                IsEnabled = true
            };

            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 => MatchBindableSocketsFilterViewModel(x, expected)));
        }
Exemplo n.º 2
0
        public void CreateShouldReturnLinkFilterViewModelWithValuesFromSearchQueryRequest()
        {
            // arrange
            Expression <Func <SearchQueryRequest, IFilter> > expectedBindingExpression = x => x.Query.Filters.SocketFilters.Links;
            var equippableItem = new EquippableItem(ItemRarity.Rare)
            {
                Sockets = new ItemSockets
                {
                    SocketGroups =
                    {
                        new SocketGroup
                        {
                            Sockets =
                            {
                                new Socket()
                            }
                        }
                    }
                }
            };

            var queryRequestFilter = new SocketsFilter
            {
                Min = 1,
                Max = 3
            };

            // act & assert
            this.CreateShouldReturnBindableMinMaxFilterViewModelWithValuesFromQueryRequest(expectedBindingExpression, equippableItem, 0, Resources.Links, queryRequestFilter);
        }
Exemplo n.º 3
0
        public void CreateShouldMapSocketsFilter()
        {
            BindableSocketsFilterViewModel bindableSocketsFilterViewModel = new BindableSocketsFilterViewModel(x => x.Query.Filters.SocketFilters.Sockets)
            {
                Min       = 5,
                Max       = 6,
                Red       = 1,
                Green     = 1,
                Blue      = 2,
                White     = 2,
                IsEnabled = true
            };
            var advancedFiltersViewModel = GetAdvancedFiltersViewModel(null, new[] { bindableSocketsFilterViewModel });

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

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Query.Filters.SocketFilters);

            SocketsFilter socketsFilter = result.Query.Filters.SocketFilters.Sockets;

            Assert.IsNotNull(socketsFilter);
            Assert.That(socketsFilter.Min, Is.EqualTo(bindableSocketsFilterViewModel.Min));
            Assert.That(socketsFilter.Max, Is.EqualTo(bindableSocketsFilterViewModel.Max));
            Assert.That(socketsFilter.Red, Is.EqualTo(bindableSocketsFilterViewModel.Red));
            Assert.That(socketsFilter.Green, Is.EqualTo(bindableSocketsFilterViewModel.Green));
            Assert.That(socketsFilter.Blue, Is.EqualTo(bindableSocketsFilterViewModel.Blue));
            Assert.That(socketsFilter.White, Is.EqualTo(bindableSocketsFilterViewModel.White));
        }
        public void MapToQueryItemShouldMapLinksIfLinkCountIsMinimumFive(int linkCount)
        {
            var item = new EquippableItem(ItemRarity.Normal)
            {
                Sockets = GetLinkedItemSockets(linkCount)
            };

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

            Assert.NotNull(result.Query.Filters.SocketFilters);
            Assert.NotNull(result.Query.Filters.SocketFilters.Links);

            SocketsFilter socketsFilter = result.Query.Filters.SocketFilters.Links;

            Assert.That(socketsFilter.Min, Is.EqualTo(linkCount));
            Assert.That(socketsFilter.Max, Is.EqualTo(linkCount));
        }
Exemplo n.º 5
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);
        }