public static void Main(string[] args) { Console.WriteLine("Assembly Annotations Analizer by Alexander Lozhkin"); try { if (args.Length != 1) { PrintUsage(); Environment.ExitCode = WRONG_COMMAND_LINE_ARGUMENTS; } else { var filename = args.First(); //composition root var service = new AnnotationService(new AnnotattionsContext()); var provider = new DefaultAnnotationInfoProvider(); //method injection App(filename, service, provider); } } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("Error ocured: {0}", ex); Environment.ExitCode = OTHER_ERROR_CODE; Console.ResetColor(); } Console.WriteLine("Press any key to exit"); Console.ReadKey(); }
public void BuildFor_OnNotNullAssembly_ProcessPublicMethods() { var assembly = Assembly.GetExecutingAssembly(); var info = DefaultAnnotationInfoProvider.ExtractFrom(assembly); Assert.NotNull(info); var methodInfo = info.MethodAnnotations.FirstOrDefault(a => a.ReflectedItem == typeof(ClassWithAnnotation).GetMethod("NonStaticMethod")); Assert.NotNull(methodInfo); }
public void BuildFor_OnNotNullAssembly_ProcessPublicClasses() { var assembly = Assembly.GetExecutingAssembly(); var info = DefaultAnnotationInfoProvider.ExtractFrom(assembly); Assert.NotNull(info); var typeInfo = info.TypeAnnotations.FirstOrDefault(a => a.ReflectedItem == typeof(ClassWithAnnotation)); Assert.NotNull(typeInfo); }
public void BuildFor_OnNotNullAssembly_FillsAssemblyInfo() { var assembly = Assembly.GetExecutingAssembly(); var info = DefaultAnnotationInfoProvider.ExtractFrom(assembly); Assert.NotNull(info); var annotations = info.AssemblyAnnotation.Annotations.ToArray(); Assert.AreEqual(assembly, info.AssemblyAnnotation.ReflectedItem); Assert.AreEqual(1, annotations.Length); Assert.AreEqual("assembly annotation", annotations.First().Id); Assert.AreEqual("comment", annotations.First().Comment); }
public void BuildFor_OnNotNullAssembly_FillsTypeInfo() { var assembly = Assembly.GetExecutingAssembly(); var info = DefaultAnnotationInfoProvider.ExtractFrom(assembly); Assert.NotNull(info); var typeInfo = info.TypeAnnotations.FirstOrDefault(a => a.ReflectedItem == typeof(ClassWithAnnotation)); Assert.NotNull(typeInfo); var annotations = typeInfo.Annotations.ToArray(); Assert.AreEqual("annotation1", annotations.First().Id); Assert.AreEqual("comment1", annotations.First().Comment); }
public void BuildFor_OnNullAssembly_Throws() { Assert.Catch <ArgumentNullException>(() => DefaultAnnotationInfoProvider.ExtractFrom((Assembly)null)); }