Mono.Cecil.Tests.PortablePdbTests.ImportScope C# (CSharp) Method

ImportScope() private method

private ImportScope ( ) : void
return void
        public void ImportScope()
        {
            TestPortablePdbModule (module => {
                var type = module.GetType ("PdbTarget.Program");
                var method = type.GetMethod ("Bar");
                var debug_info = method.DebugInformation;

                Assert.IsNotNull (debug_info.Scope);

                var import = debug_info.Scope.Import;
                Assert.IsNotNull (import);

                Assert.IsFalse (import.HasTargets);
                Assert.IsNotNull (import.Parent);

                import = import.Parent;

                Assert.IsTrue (import.HasTargets);
                Assert.AreEqual (9, import.Targets.Count);
                var target = import.Targets [0];

                Assert.AreEqual (ImportTargetKind.ImportAlias, target.Kind);
                Assert.AreEqual ("XML", target.Alias);

                target = import.Targets [1];

                Assert.AreEqual (ImportTargetKind.ImportNamespace, target.Kind);
                Assert.AreEqual ("System", target.Namespace);

                target = import.Targets [2];

                Assert.AreEqual (ImportTargetKind.ImportNamespace, target.Kind);
                Assert.AreEqual ("System.Collections.Generic", target.Namespace);

                target = import.Targets [3];

                Assert.AreEqual (ImportTargetKind.ImportNamespace, target.Kind);
                Assert.AreEqual ("System.IO", target.Namespace);

                target = import.Targets [4];

                Assert.AreEqual (ImportTargetKind.ImportNamespace, target.Kind);
                Assert.AreEqual ("System.Threading.Tasks", target.Namespace);

                target = import.Targets [5];

                Assert.AreEqual (ImportTargetKind.ImportNamespaceInAssembly, target.Kind);
                Assert.AreEqual ("System.Xml.Resolvers", target.Namespace);
                Assert.AreEqual ("System.Xml", target.AssemblyReference.Name);

                target = import.Targets [6];

                Assert.AreEqual (ImportTargetKind.ImportType, target.Kind);
                Assert.AreEqual ("System.Console", target.Type.FullName);

                target = import.Targets [7];

                Assert.AreEqual (ImportTargetKind.ImportType, target.Kind);
                Assert.AreEqual ("System.Math", target.Type.FullName);

                target = import.Targets [8];

                Assert.AreEqual (ImportTargetKind.DefineTypeAlias, target.Kind);
                Assert.AreEqual ("Foo", target.Alias);
                Assert.AreEqual ("System.Xml.XmlDocumentType", target.Type.FullName);

                Assert.IsNotNull (import.Parent);

                import = import.Parent;

                Assert.IsTrue (import.HasTargets);
                Assert.AreEqual (1, import.Targets.Count);
                Assert.IsNull (import.Parent);

                target = import.Targets [0];

                Assert.AreEqual (ImportTargetKind.DefineAssemblyAlias, target.Kind);
                Assert.AreEqual ("XML", target.Alias);
                Assert.AreEqual ("System.Xml", target.AssemblyReference.Name);
            });
        }