Пример #1
0
 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();
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
 public void BuildFor_OnNullAssembly_Throws()
 {
     Assert.Catch <ArgumentNullException>(() => DefaultAnnotationInfoProvider.ExtractFrom((Assembly)null));
 }