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); }