コード例 #1
0
        public void CompositeFilter_ItemsMustMatchByAll()
        {
            var filter = AllFilter.Wrap(new DelegateFilter(i => false), new CountFilter(1, 1));
            var items  = filter.Pipe(CreateItems(3)).ToList();

            Assert.That(items.Count(), Is.EqualTo(0));
        }
コード例 #2
0
        public void Wrap_Creates_CompositeFilter_ForTwoParameters()
        {
            var filter = AllFilter.Wrap(new CountFilter(0, 1), new TypeFilter(typeof(INameable)));

            Assert.That(filter, Is.InstanceOf <AllFilter>());
            Assert.That((filter as AllFilter).Filters.Length, Is.EqualTo(2));
        }
コード例 #3
0
        public virtual IList <T> Select <T>() where T : ContentItem
        {
            var          retrievedItems = CreateQuery().List <T>();
            ItemList <T> items;

            if (retrievedItems.Count == 0)
            {
                items = new ItemList <T>();
            }
            else if (Filters != null)
            {
                var filter = AllFilter.Wrap(Filters);
                items = ToListWithFillup <T>(retrievedItems, filter, /*maxRequeries*/ 10);
            }
            else
            {
                items = new ItemList <T>(retrievedItems);
            }

            if (SortExpression != null)
            {
                items.Sort(SortExpression);
            }

            return(items);
        }
コード例 #4
0
        public void CompositeFilter_PipesItem_MatchedByAllFilters()
        {
            var filter = AllFilter.Wrap(new DelegateFilter(i => true), new CountFilter(1, 1));
            var items  = filter.Pipe(CreateItems(3)).ToList();

            Assert.That(items.Count(), Is.EqualTo(1));
            Assert.That(items.First().Name, Is.EqualTo("1"));
        }
コード例 #5
0
        public void Wrap_Creates_SameFilter_ForOneCountList()
        {
            var filter = AllFilter.Wrap(new List <ItemFilter> {
                new CountFilter(0, 1)
            });

            Assert.That(filter, Is.InstanceOf <CountFilter>());
        }
コード例 #6
0
        public void Wrap_Creates_SameFilter_ForOneParameter()
        {
            var filter = AllFilter.Wrap(new CountFilter(0, 1));

            Assert.That(filter, Is.InstanceOf <CountFilter>());
        }
コード例 #7
0
        public void Wrap_Creates_NullFilter_ForZeroCountList()
        {
            var filter = AllFilter.Wrap(new List <ItemFilter>());

            Assert.That(filter, Is.InstanceOf <NullFilter>());
        }
コード例 #8
0
        public void Wrap_Creates_NullFilter_ForZeroParameters()
        {
            var filter = AllFilter.Wrap();

            Assert.That(filter, Is.InstanceOf <NullFilter>());
        }
コード例 #9
0
        public void Wrap_Creates_NullFilter_ForZeroLengthArray()
        {
            var filter = AllFilter.Wrap(new ItemFilter[0]);

            Assert.That(filter, Is.InstanceOf <NullFilter>());
        }
コード例 #10
0
        public void Wrap_Creates_NullFilter_ForNull()
        {
            var filter = AllFilter.Wrap(null);

            Assert.That(filter, Is.InstanceOf <NullFilter>());
        }