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))); }
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); }
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)); }
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); }