public static void Annotate(Convention convention, IEnumerable <Type> trackAttributes = null) { if (trackAttributes == null) { trackAttributes = convention.GetType().Assembly.GetTypes().Where(t => typeof(ColumnAnnotationAttribute).IsAssignableFrom(t)); } foreach (var attType in trackAttributes) { convention.Properties() .Having(p => p.CustomAttributes.SingleOrDefault(att => att.AttributeType.IsAssignableFrom(attType))) .Configure((config, att) => config.HasColumnAnnotation(attType.FullName.Replace('.', '_'), "")); } }
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); }
public static void ApplySettingsToConventions(Convention conventions) { var settings = ClientSettings; if (settings.Count == 0) { return; } var type = conventions.GetType(); foreach (var setting in settings) { Console.WriteLine("Applying external client setting: " + setting.Key); var property = type.GetProperty(setting.Key, BindingFlags.Public | BindingFlags.Instance); if (property == null) { continue; } property.SetValue(conventions, setting.Value); } }
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; }