Exemple #1
0
        public void Visualizer_MapType_Should_Create_DegguberVisualizerAttribute_OfType_IList_In_Target_Assembly()
        {
            string debuggerVisualizerTargetName  = Path.Combine(_thisAssemblyDirectoryName, "TestB.dll");
            string visualizerLocation            = typeof(DynamicObjectSource).Assembly.Location;
            VisualizerAttributeInjector injector = new VisualizerAttributeInjector(visualizerLocation, "11.0");

            injector.MapType(typeof(IList <>));
            injector.SaveDebuggerVisualizer(debuggerVisualizerTargetName);

            AssemblyDefinition   generatedAssembly = AssemblyDefinition.ReadAssembly(debuggerVisualizerTargetName);
            IEnumerable <object> mappedTypeNames   = generatedAssembly
                                                     .CustomAttributes
                                                     .SelectMany(p =>
                                                                 p.Properties.Where(n => n.Name.Equals("TargetTypeName"))
                                                                 .Select(l => l.Argument.Value));

            Assert.IsTrue(mappedTypeNames.Contains(typeof(IList <>).AssemblyQualifiedName), "Mapping was not successful");
        }
        public void Visualizer_MapType_Should_Create_DegguberVisualizerAttribute_OfType_This_In_Target_Assembly()
        {
            var debuggerVisualizerTargetName = Path.Combine(_thisAssemblyDirectoryName, "TestA.dll");
            var visualizerLocation           = typeof(DynamicDebuggerVisualizerObjectSourceV11).Assembly.Location;
            var injector = new VisualizerAttributeInjector(visualizerLocation);

            injector.MapType(GetType());
            injector.SaveDebuggerVisualizer(debuggerVisualizerTargetName);

            var generatedAssembly = AssemblyDefinition.ReadAssembly(debuggerVisualizerTargetName);
            var mappedTypeNames   = generatedAssembly
                                    .CustomAttributes
                                    .SelectMany(p =>
                                                p.Properties.Where(n => n.Name.Equals("TargetTypeName"))
                                                .Select(l => l.Argument.Value));

            Assert.IsTrue(mappedTypeNames.Contains(GetType().AssemblyQualifiedName), "Mapping was not succesful");
        }