Mono.Cecil.Tests.PortablePdbTests.LocalVariables C# (CSharp) Méthode

LocalVariables() private méthode

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

                Assert.IsNotNull (debug_info.Scope);
                Assert.IsTrue (debug_info.Scope.HasScopes);
                Assert.AreEqual (2, debug_info.Scope.Scopes.Count);

                var scope = debug_info.Scope.Scopes [0];

                Assert.IsNotNull (scope);
                Assert.IsTrue (scope.HasVariables);
                Assert.AreEqual (1, scope.Variables.Count);

                var variable = scope.Variables [0];

                Assert.AreEqual ("s", variable.Name);
                Assert.IsFalse (variable.IsDebuggerHidden);
                Assert.AreEqual (2, variable.Index);

                scope = debug_info.Scope.Scopes [1];

                Assert.IsNotNull (scope);
                Assert.IsTrue (scope.HasVariables);
                Assert.AreEqual (1, scope.Variables.Count);

                variable = scope.Variables [0];

                Assert.AreEqual ("s", variable.Name);
                Assert.IsFalse (variable.IsDebuggerHidden);
                Assert.AreEqual (3, variable.Index);

                Assert.IsTrue (scope.HasScopes);
                Assert.AreEqual (1, scope.Scopes.Count);

                scope = scope.Scopes [0];

                Assert.IsNotNull (scope);
                Assert.IsTrue (scope.HasVariables);
                Assert.AreEqual (1, scope.Variables.Count);

                variable = scope.Variables [0];

                Assert.AreEqual ("u", variable.Name);
                Assert.IsFalse (variable.IsDebuggerHidden);
                Assert.AreEqual (5, variable.Index);
            });
        }