APISampleUnitTestsCS.Parsing.PreprocessorDirectives C# (CSharp) Метод

PreprocessorDirectives() приватный Метод

private PreprocessorDirectives ( ) : void
Результат void
        public void PreprocessorDirectives()
        {
            SyntaxTree tree = SyntaxTree.ParseText(@"#if true
            class A { }
            #else
            class B { }
            #endif");
            SyntaxToken eof = tree.GetRoot().FindToken(tree.GetText().Length, false);
            Assert.AreEqual(true, eof.HasLeadingTrivia);
            Assert.AreEqual(false, eof.HasTrailingTrivia);
            Assert.AreEqual(true, eof.ContainsDirectives);

            SyntaxTriviaList trivia = eof.LeadingTrivia;
            Assert.AreEqual(3, trivia.Count);
            Assert.AreEqual("#else", trivia[0].ToString());
            Assert.AreEqual(SyntaxKind.DisabledTextTrivia, trivia[1].Kind);
            Assert.AreEqual("#endif", trivia[2].ToString());

            DirectiveTriviaSyntax directive = tree.GetRoot().GetLastDirective();
            Assert.AreEqual("endif", directive.DirectiveNameToken.Value);

            directive = directive.GetPreviousDirective();
            Assert.AreEqual("else", directive.DirectiveNameToken.Value);

            // List<DirectiveSyntax> relatedDirectives = directive.GetRelatedDirectives();
            // Assert.AreEqual(3, relatedDirectives.Count);
        }