Esempio n. 1
0
        public bool Filter(TestContext ctx, out bool enabled)
        {
            if (categories != null && categories.Contains(TestCategory.Global))
            {
                enabled = true;
                return(true);
            }

            foreach (var feature in features)
            {
                if (!ctx.IsEnabled(feature))
                {
                    enabled = false;
                    return(true);
                }
            }

            if (categories != null)
            {
                foreach (var category in categories)
                {
                    if (ctx.CurrentCategory == category)
                    {
                        enabled = true;
                        return(true);
                    }
                    else if (category.IsExplicit)
                    {
                        enabled = false;
                        return(true);
                    }
                }
            }

            if (parent != null && parent.Filter(ctx, out enabled))
            {
                return(enabled);
            }

            if (ctx.CurrentCategory == TestCategory.All)
            {
                enabled = true;
                return(true);
            }

            enabled = false;
            return(false);
        }