public static bool HasMatchingTag(IEnumerable <string> tags, StartUnitTest work) { if (work.Tags.IsNullOrWhitespace() || work.Tags.Length < 1) { return(true); //no tags requested on work } var workTags = GetTagsFromString(work.Tags); return(tags.Any(workerTag => workTags.Any(workTag => workTag.BasicallyEquals(workerTag) || DoesMatchWildCard(workTag, workerTag)))); }
public static bool FanoutIfNotBusyAndHasMatchingTag(WorkerConnection <StartUnitTest, UnitTestResult> worker, StartUnitTest work) { return(!worker.Worker.IsBusy.Value() && HasMatchingTag(GetTagsFromWorker(worker), work)); }