public void ReceivedTests(string id) { lock (WaitingForPlatforms) { WaitingForPlatforms.Remove(id); if (!WaitingForPlatforms.Any() && !Go) { foreach (var expectedTest in ExpectedTests.ToDictionary(k => k.Key, v => v.Value)) { var remove = !expectedTest.Value.All(pr => TestFilter.Value.ShouldRun(pr.MissingTest)); if (remove) { ExpectedTests.Remove(expectedTest.Key); } } PrintResults.PrintStart(); Go = true; } } }