public override bool Match(NUnit.Framework.Api.ITest test)
    {
        if (test is NUnit.Framework.Internal.TestAssembly)
        {
            return(true);
        }

        var method = test as NUnit.Framework.Internal.TestMethod;

        if (method != null)
        {
            return(Match(method.Parent));
        }

        var  name = !string.IsNullOrEmpty(test.Name) ? test.Name : test.FullName;
        bool rv;

        if (string.IsNullOrEmpty(name))
        {
            rv = true;
        }
        else
        {
            var z = Char.ToUpperInvariant(name [0]);
            rv = z >= Char.ToUpperInvariant(FirstChar) && z <= Char.ToUpperInvariant(LastChar);
        }

        return(rv);
    }
 public override bool Pass(NUnit.Framework.Api.ITest test)
 {
     return(Match(test));
 }