示例#1
0
        public override string ToString()
        {
            if (!Filters.Any() && AnyFilter == null)
            {
                return(string.Empty);
            }
            if (!Filters.Any() && AnyFilter != null)
            {
                return(AnyFilter.ToString());
            }
            var realFilterList = InternalBuildFilterList();
            var filter         = string.Empty;

            foreach (var entry in realFilterList)
            {
                var entryString = entry.ToString();
                if (string.IsNullOrEmpty(entryString))
                {
                    if (MaxIndex == 1)
                    {
                        return(string.Empty);
                    }
                }
                else
                {
                    filter += $"|{entryString}";
                }
            }
            filter = filter.Remove(0, 1);
            return(filter);
        }
示例#2
0
        public void OnSetUp()
        {
            var filter1 = new FilterOnlyTag(TestTag1);
            var filter2 = new FilterOnlyTag(TestTag2);

            _anyFilter = new AnyFilter(filter1, filter2);
        }
示例#3
0
        public void Test_AnyFilterFilter_Returns_true2()
        {
            var filter  = new AnyFilter(new DelegateFilter(x => true), new DelegateFilter(x => true), new DelegateFilter(x => true));
            var article = new Article();


            Assert.IsTrue(filter.Matches(article));
        }
示例#4
0
        public void Test_AnyFilterFilter_Returns_False_If_Any_returns_false()
        {
            var filter  = new AnyFilter(new DelegateFilter(x => false), new DelegateFilter(x => false), new DelegateFilter(x => false));
            var article = new Article();


            Assert.IsFalse(filter.Matches(article));
        }
示例#5
0
        public void Constructor_WhenInvoked_InitializesProperties()
        {
            var filter     = new AnyFilter <object>();
            var filterRule = new FilterRule <object>(FilterRuleType.Exclusion, filter);

            Assert.AreEqual(FilterRuleType.Exclusion, filterRule.RuleType);
            Assert.AreEqual(filter, filterRule.Filter);
        }
示例#6
0
        public void Constructor_WhenInvoked_InitializesProperties()
        {
            var filter = new AnyFilter<object>();
            var filterRule = new FilterRule<object>(FilterRuleType.Exclusion, filter);

            Assert.AreEqual(FilterRuleType.Exclusion, filterRule.RuleType);
            Assert.AreEqual(filter, filterRule.Filter);
        }
示例#7
0
        public void SimpleConstructor_WhenSuccessful_InitializesProperties()
        {
            var filter    = new AnyFilter <object>();
            var filterSet = new FilterSet <object>(filter);

            Assert.Count(1, filterSet.Rules);
            Assert.AreEqual(FilterRuleType.Inclusion, filterSet.Rules[0].RuleType);
            Assert.AreEqual(filter, filterSet.Rules[0].Filter);
        }
示例#8
0
        public void SimpleConstructor_WhenSuccessful_InitializesProperties()
        {
            var filter = new AnyFilter<object>();
            var filterSet = new FilterSet<object>(filter);

            Assert.Count(1, filterSet.Rules);
            Assert.AreEqual(FilterRuleType.Inclusion, filterSet.Rules[0].RuleType);
            Assert.AreEqual(filter, filterSet.Rules[0].Filter);
        }
        public void TestFilters()
        {
            IConfigurableCacheFactory ccf = CacheFactory.ConfigurableCacheFactory;

            IXmlDocument config = XmlHelper.LoadXml("assembly://Coherence.Tests/Tangosol.Resources/s4hc-local-cache-config.xml");

            ccf.Config = config;

            INamedCache cache = CacheFactory.GetCache("local-default");

            cache.Clear();
            cache.Insert("5", "5");
            cache.Insert(1, "10");
            cache.Insert("g", "15");
            cache.Insert("b", "20");
            cache.Insert("1", "105");

            IFilter[] filters = new IFilter[] {
                new EqualsFilter(IdentityExtractor.Instance, "20"),
                new LikeFilter(IdentityExtractor.Instance, "1%", '\\', true)
            };
            AnyFilter anyFilter = new AnyFilter(filters);

            ICollection results = cache.GetKeys(anyFilter);

            Assert.AreEqual(4, results.Count);
            Assert.IsTrue(CollectionUtils.Contains(results, 1));
            Assert.IsTrue(CollectionUtils.Contains(results, "g"));
            Assert.IsTrue(CollectionUtils.Contains(results, "b"));
            Assert.IsTrue(CollectionUtils.Contains(results, "1"));


            filters = new IFilter[] {
                new EqualsFilter(IdentityExtractor.Instance, "20"),
                new LikeFilter(IdentityExtractor.Instance, "5%", '\\', true)
            };
            anyFilter = new AnyFilter(filters);
            ICacheEntry[] entries = cache.GetEntries(anyFilter);
            Assert.AreEqual(2, entries.Length);

            Assert.Contains("b", new object[] { entries[0].Key, entries[1].Key });
            Assert.Contains("5", new object[] { entries[0].Key, entries[1].Key });

            Assert.Contains("20", new object[] { entries[0].Value, entries[1].Value });
            Assert.Contains("5", new object[] { entries[0].Value, entries[1].Value });

            CacheFactory.Shutdown();
        }
        public void LongUrl()
        {
            _mockHttp.When($"{_baseUrl}/items")
            .Respond("application/json", File.ReadAllText(Path.Combine(Environment.CurrentDirectory, "Fixtures\\DeliveryClient\\items.json")));

            var httpClient = _mockHttp.ToHttpClient();

            var client = new DeliveryClient(_guid)
            {
                HttpClient = httpClient
            };

            var elements  = new ElementsParameter(Enumerable.Range(0, 1000).Select(i => "test").ToArray());
            var inFilter  = new InFilter("test", Enumerable.Range(0, 1000).Select(i => "test").ToArray());
            var allFilter = new AllFilter("test", Enumerable.Range(0, 1000).Select(i => "test").ToArray());
            var anyFilter = new AnyFilter("test", Enumerable.Range(0, 1000).Select(i => "test").ToArray());

            // Act
            var response = client.GetItemsAsync(elements, inFilter, allFilter, anyFilter).Result;

            // Assert
            Assert.NotNull(response);
        }
        public void LongUrl()
        {
            _mockHttp
            .When($"{_baseUrl}/items")
            .Respond("application/json", File.ReadAllText(Path.Combine(Environment.CurrentDirectory, $"Fixtures{Path.DirectorySeparatorChar}DeliveryClient{Path.DirectorySeparatorChar}items.json")));

            var client = DeliveryClientFactory.GetMockedDeliveryClientWithProjectId(_guid, _mockHttp);

            A.CallTo(() => client.ResiliencePolicyProvider.Policy)
            .Returns(Policy.HandleResult <HttpResponseMessage>(result => true)
                     .RetryAsync(client.DeliveryOptions.MaxRetryAttempts));

            var elements  = new ElementsParameter(Enumerable.Range(0, 1000).Select(i => "test").ToArray());
            var inFilter  = new InFilter("test", Enumerable.Range(0, 1000).Select(i => "test").ToArray());
            var allFilter = new AllFilter("test", Enumerable.Range(0, 1000).Select(i => "test").ToArray());
            var anyFilter = new AnyFilter("test", Enumerable.Range(0, 1000).Select(i => "test").ToArray());

            // Act
            var response = client.GetItemsAsync(elements, inFilter, allFilter, anyFilter).Result;

            // Assert
            Assert.NotNull(response);
        }
示例#12
0
 public void OnTearDown()
 {
     _anyFilter = null;
 }