public void Apply_FiltersItemsByIgnoringCase()
        {
            StringContainsFilter filter = new StringContainsFilter {
                Method = "contains", Values = new[] { "Est" }
            };
            Expression <Func <GridModel, String> > expression = (model) => model.Name;

            IQueryable <GridModel> items = new[]
            {
                new GridModel {
                    Name = null
                },
                new GridModel {
                    Name = "Tes"
                },
                new GridModel {
                    Name = "test"
                },
                new GridModel {
                    Name = "TEST"
                }
            }.AsQueryable();

            IQueryable expected = items.Where(model => model.Name != null && model.Name.ToUpper().Contains("EST"));
            IQueryable actual   = items.Where(expression, filter);

            Assert.Equal(expected, actual);
        }
Пример #2
0
        public void Process_FiltersItemsWithCaseInsensitiveComparison()
        {
            StringContainsFilter <GridModel>       filter     = new StringContainsFilter <GridModel>();
            Expression <Func <GridModel, String> > expression = (model) => model.Name;

            filter.FilteredExpression = expression;
            filter.Value = "Est";

            IQueryable <GridModel> models = new[]
            {
                new GridModel {
                    Name = null
                },
                new GridModel {
                    Name = "Tes"
                },
                new GridModel {
                    Name = "test"
                },
                new GridModel {
                    Name = "TEst"
                },
                new GridModel {
                    Name = "Tst22"
                },
                new GridModel {
                    Name = "TTEst2"
                }
            }.AsQueryable();

            IQueryable expected = models.Where(model => model.Name != null && model.Name.ToUpper().Contains("EST"));
            IQueryable actual   = filter.Process(models);

            CollectionAssert.AreEqual(expected, actual);
        }
Пример #3
0
        public void Apply_FiltersItemsByIgnoringCase()
        {
            Expression <Func <GridModel, String> > expression = (model) => model.Name;
            StringContainsFilter filter = new StringContainsFilter();

            filter.Value = "Est";

            IQueryable <GridModel> items = new[]
            {
                new GridModel {
                    Name = null
                },
                new GridModel {
                    Name = "Tes"
                },
                new GridModel {
                    Name = "test"
                },
                new GridModel {
                    Name = "TEst"
                },
                new GridModel {
                    Name = "Tst22"
                },
                new GridModel {
                    Name = "TTEst2"
                }
            }.AsQueryable();

            IQueryable expected = items.Where(model => model.Name != null && model.Name.ToUpper().Contains("EST"));
            IQueryable actual   = Filter(items, filter.Apply(expression.Body), expression);

            Assert.Equal(expected, actual);
        }
        public void Apply_FiltersMultipleItems()
        {
            StringContainsFilter filter = new StringContainsFilter {
                Method = "contains", Values = new[] { "", "Est" }
            };
            Expression <Func <GridModel, String> > expression = (model) => model.Name;

            Assert.Null(filter.Apply(expression));
        }
        private void UpdateTable()
        {
            IEnumerable <Player> players = NBAContext.Instance.Player.ToList();

            if (postionComboBox.SelectedIndex != 0)
            {
                players = players.Where(p => p.MainPositionName == postionComboBox.SelectedItem);
            }
            if (countryComboBox.SelectedIndex != 0)
            {
                players = players.Where(p => p.Country == countryComboBox.SelectedItem);
            }

            players                    = new StringContainsFilter <Player>(nameTextBox.Text, p => p.FullName).Use(players);
            countTextBlock.Text        = "Total players: " + players.Count().ToString();
            playerDataGrid.ItemsSource = players;
        }
        public void Apply_FiltersItemsByIgnoringCase()
        {
            Expression<Func<GridModel, String>> expression = (model) => model.Name;
            StringContainsFilter filter = new StringContainsFilter();
            filter.Value = "Est";

            IQueryable<GridModel> items = new[]
            {
                new GridModel { Name = null },
                new GridModel { Name = "Tes" },
                new GridModel { Name = "test" },
                new GridModel { Name = "TEst" },
                new GridModel { Name = "Tst22" },
                new GridModel { Name = "TTEst2" }
            }.AsQueryable();

            IQueryable expected = items.Where(model => model.Name != null && model.Name.ToUpper().Contains("EST"));
            IQueryable actual = Filter(items, filter.Apply(expression.Body), expression);

            Assert.Equal(expected, actual);
        }