ConventionResult Run(Convention convention, Type[] candidateTypes) { var classDiscoverer = new ClassDiscoverer(convention.Config); var conventionResult = new ConventionResult(convention.GetType().FullName); var classRunner = new ClassRunner(listener, convention.Config); foreach (var testClass in classDiscoverer.TestClasses(candidateTypes)) { var classResult = classRunner.Run(testClass); conventionResult.Add(classResult); } return conventionResult; }