public void CreateShouldMapEnabledStatFilterToQueryStatFilter() { MinMaxStatFilterViewModel statFilterViewModel = new MinMaxStatFilterViewModel { Id = "itemStatId", Text = "# to Maximum Life", Min = 50, Max = 65, IsEnabled = true }; var advancedFiltersViewModel = GetAdvancedFiltersViewModel(new[] { statFilterViewModel }, null); SearchQueryRequest result = this.queryRequestFactory.Create(new SearchQueryRequest(), advancedFiltersViewModel) as SearchQueryRequest; Assert.NotNull(result); Assert.That(result.Query.Stats, Has.Count.EqualTo(1)); StatFilters statFilters = result.Query.Stats.First(); Assert.That(statFilters.Filters, Has.Count.EqualTo(1)); StatFilter statFilter = statFilters.Filters.First(); Assert.That(statFilter.Id, Is.EqualTo(statFilterViewModel.Id)); Assert.That(statFilter.Text, Is.EqualTo(statFilterViewModel.Text)); Assert.NotNull(statFilter.Value); Assert.That(statFilter.Value.Min, Is.EqualTo(statFilterViewModel.Min)); Assert.That(statFilter.Value.Max, Is.EqualTo(statFilterViewModel.Max)); }
public void CreateShouldClearStatsOnQueryRequestBeforeAddingNewOnes() { var statFilterViewModel = new MinMaxStatFilterViewModel { Id = "itemStatId", Text = "# to Maximum Life", Min = 50, Max = 65, IsEnabled = true }; var advancedFiltersViewModel = GetAdvancedFiltersViewModel(new[] { statFilterViewModel }, null); var searchQueryRequest = new SearchQueryRequest { Query = { Stats = { new StatFilters { Filters = { new StatFilter() } } } } }; SearchQueryRequest result = this.queryRequestFactory.Create(searchQueryRequest, advancedFiltersViewModel) as SearchQueryRequest; Assert.NotNull(result); Assert.That(result.Query.Stats, Has.Count.EqualTo(1)); Assert.That(result.Query.Stats.First().Filters, Has.Count.EqualTo(1)); }
public void CreateShouldReturnStatFilterViewModelWithCurrentValueForSingleValueItemStat(decimal value, string expected) { var itemStat = new SingleValueItemStat(StatCategory.Explicit) { Value = value }; MinMaxStatFilterViewModel result = this.statFilterViewModelFactory.Create(itemStat, new SearchQueryRequest()) as MinMaxStatFilterViewModel; Assert.NotNull(result); Assert.That(result.Current, Is.EqualTo(expected)); }
public void CreateShouldMapValueOfSingleValueItemStatToMinValue() { const int expected = 2; var itemStat = new SingleValueItemStat(StatCategory.Monster) { Value = expected }; MinMaxStatFilterViewModel result = this.statFilterViewModelFactory.Create(itemStat, new SearchQueryRequest()) as MinMaxStatFilterViewModel; Assert.That(result.Min, Is.EqualTo(expected)); }
private void CreateShouldConsiderMaxValuePercentageOffsetForItemStat(ItemStat itemStat, decimal percentageOffset, decimal expected) { this.itemSearchOptionsMock.Setup(x => x.CurrentValue) .Returns(new ItemSearchOptions { AdvancedQueryOptions = new AdvancedQueryOptions { MinValuePercentageOffset = 0, MaxValuePercentageOffset = percentageOffset } }); MinMaxStatFilterViewModel result = this.statFilterViewModelFactory.Create(itemStat, new SearchQueryRequest()) as MinMaxStatFilterViewModel; Assert.NotNull(result); Assert.That(result.Max, Is.EqualTo(expected)); }
private void CreateShouldTakeMinValueFromQueryRequest(ItemStat itemStat, decimal?expected) { this.itemSearchOptionsMock.Setup(x => x.CurrentValue) .Returns(new ItemSearchOptions { AdvancedQueryOptions = new AdvancedQueryOptions { MinValuePercentageOffset = -0.1m } }); itemStat.Id = "item stat id"; SearchQueryRequest queryRequest = GetQueryRequestWithStatFilter(itemStat.Id, new MinMaxFilter { Min = expected }); MinMaxStatFilterViewModel result = this.statFilterViewModelFactory.Create(itemStat, queryRequest) as MinMaxStatFilterViewModel; Assert.That(result.Min, Is.EqualTo(expected)); }
public async Task LoadAsyncShouldSetStatFilterViewModels(StatCategory statCategory, GetFilterViewModels getFilterViewModelsDelegate) { ItemWithStats item = CreateItemWithStats(statCategory); var expected1 = new MinMaxStatFilterViewModel { Id = item.Stats.AllStats[0].Id }; var expected2 = new MinMaxStatFilterViewModel { Id = item.Stats.AllStats[1].Id }; this.statFilterViewModelFactoryMock.SetupSequence(x => x.Create(It.IsAny <ItemStat>(), It.IsAny <SearchQueryRequest>())) .Returns(expected1) .Returns(expected2); await this.advancedFiltersViewModel.LoadAsync(item, new SearchQueryRequest(), default); var filterViewModels = getFilterViewModelsDelegate(this.advancedFiltersViewModel); Assert.That(filterViewModels, Has.Count.EqualTo(2)); Assert.That(filterViewModels[0], Is.EqualTo(expected1)); Assert.That(filterViewModels[1], Is.EqualTo(expected2)); }
public void CreateShouldIgnoreConfigurationForMonsterItemStat() { const int expected = 3; var itemStat = new SingleValueItemStat(StatCategory.Monster) { Id = "monsterItemStat", Value = expected }; this.itemSearchOptionsMock.Setup(x => x.CurrentValue) .Returns(new ItemSearchOptions { AdvancedQueryOptions = new AdvancedQueryOptions { MinValuePercentageOffset = -0.1m, MaxValuePercentageOffset = 0.1m } }); MinMaxStatFilterViewModel result = this.statFilterViewModelFactory.Create(itemStat, new SearchQueryRequest()) as MinMaxStatFilterViewModel; Assert.That(result.Min, Is.EqualTo(expected)); Assert.That(result.Max, Is.EqualTo(expected)); }
public void CreateShouldSetGreaterValueAsMaxValueForStatFilter() { const int expectedValue = 65; var statFilterViewModel = new MinMaxStatFilterViewModel { Min = expectedValue, Max = 40, IsEnabled = true }; var advancedFiltersViewModel = GetAdvancedFiltersViewModel(new[] { statFilterViewModel }, null); SearchQueryRequest result = this.queryRequestFactory.Create(new SearchQueryRequest(), advancedFiltersViewModel) as SearchQueryRequest; Assert.NotNull(result); Assert.That(result.Query.Stats, Has.Count.EqualTo(1)); StatFilters statFilters = result.Query.Stats.First(); Assert.That(statFilters.Filters, Has.Count.EqualTo(1)); StatFilter statFilter = statFilters.Filters.First(); Assert.That(statFilter.Value.Min, Is.EqualTo(expectedValue)); Assert.That(statFilter.Value.Max, Is.EqualTo(expectedValue)); }