APISampleUnitTestsCS.FAQ.TestWhetherANodeIsPartOfATreeOrASemanticModel C# (CSharp) Метод

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

private TestWhetherANodeIsPartOfATreeOrASemanticModel ( ) : void
Результат void
        public void TestWhetherANodeIsPartOfATreeOrASemanticModel()
        {
            var source = @"
            using System;
            class C
            {
            }
            class Program
            {
            public static void Main()
            {
            var c = new C(); Console.WriteLine(c.ToString());
            }
            }";
            var tree = SyntaxTree.ParseText(source);
            var other = SyntaxTree.ParseText(source);
            var compilation = Compilation.Create("MyCompilation")
                .AddReferences(MetadataReference.CreateAssemblyReference("mscorlib"))
                .AddSyntaxTrees(tree);
            var model = compilation.GetSemanticModel(tree);

            SyntaxNode nodeFromTree = tree.GetRoot();
            SyntaxToken tokenNotFromTree = Syntax.Token(SyntaxKind.ClassKeyword);
            SyntaxNode nodeNotFromTree = other.GetRoot();

            Assert.IsTrue(nodeFromTree.SyntaxTree == tree);
            Assert.IsTrue(nodeFromTree.SyntaxTree == model.SyntaxTree);
            Assert.IsFalse(tokenNotFromTree.SyntaxTree == tree);
            Assert.IsFalse(nodeNotFromTree.SyntaxTree == model.SyntaxTree);
            Assert.IsTrue(nodeNotFromTree.SyntaxTree == other);
        }