public void MatchSuccessTest()
        {
            PathMatcher target = new PathMatcher();
            string regex = "/xyz/mn/**/pq/*.exe";
            string path = "/xyz/mn/abc/d/pq/x.exe";
            bool actual = target.Match(regex, path);
            Assert.IsTrue(actual, "全英文字符应该匹配");

            regex = "/xyz/中文/**/我国/abc*我的.exe";
            path = "/xyz/中文/**/我国/abc我们的就是我的.exe";
            actual = target.Match(regex, path);
            Assert.IsTrue(actual, "中英文混合字符应该匹配");
        }
 public override bool Contains(PermissionInfo permission)
 {
     if (base.Equals(permission))
         return true;//permission为空权限、引用相等或者name与action完全相同
     FilePermissionInfo fp = permission as FilePermissionInfo;
     if (fp == null)
         return false;
     PathMatcher target = new PathMatcher();
     if (target.Match(this.Name, permission.Name))
     {
         //路径匹配,则检查动作
         if ((this.RealAction == NO_ACTION) || (this.RealAction & fp.RealAction) == fp.RealAction)
             return true;
     }
     return false;
 }