示例#1
0
        public void ApplyTest()
        {
            ObjectName pattern = new ObjectName("domain:a=1,b=2,c=3");

            Assert.IsTrue(pattern.Apply(pattern));

            pattern = new ObjectName("domain:a=1,b=2,c=3,*");
            ObjectName target = new ObjectName("domain:a=1,b=2,c=3");

            Assert.IsTrue(pattern.Apply(target));

            pattern = new ObjectName("domain:a=1,b=2,c=3,*");
            target  = new ObjectName("domain:a=1,b=2,c=3,d=4");
            Assert.IsTrue(pattern.Apply(target));

            pattern = new ObjectName("domain:a=1,b=2,c=3");
            target  = new ObjectName("domain:a=1,b=2,c=3,d=4");
            Assert.IsFalse(pattern.Apply(target));

            pattern = new ObjectName("domain:a=1,b=2,c=3");
            target  = new ObjectName("domain:a=1,b=4,c=3");
            Assert.IsFalse(pattern.Apply(target));

            pattern = new ObjectName("do?ain:a=1,b=2,c=3");
            target  = new ObjectName("doFain:a=1,b=2,c=3");
            Assert.IsTrue(pattern.Apply(target));

            pattern = new ObjectName("dom*in:a=1,b=2,c=3");
            target  = new ObjectName("domHUGSXUain:a=1,b=2,c=3");
            Assert.IsTrue(pattern.Apply(target));
        }
示例#2
0
        public IEnumerable <ObjectName> QueryNames(ObjectName name, IExpression <bool> query)
        {
            var results = new List <ObjectName>();

            foreach (var key in _beans.Keys)
            {
                if ((name == null || name.Apply(key)) &&
                    (query == null || query.Evaluate(new EvaluationContext(key, _beans[key]))))
                {
                    results.Add(key);
                }
            }
            return(results);
        }
示例#3
0
 public IEnumerable<ObjectName> QueryNames(ObjectName name, IExpression<bool> query)
 {
     var results = new List<ObjectName>();
     foreach (var key in _beans.Keys)
     {
         if ((name == null || name.Apply(key)) &&
            (query == null || query.Evaluate(new EvaluationContext(key, _beans[key]))))
         {
             results.Add(key);
         }
     }
     return results;
 }