private static ICollection <Relation> GetRelations(string programText, Func <SemanticModel, ClassDeclarationSyntax, RelationsRetrieverWalker> getWalker) { var syntaxAnalysis = new SyntaxAnalysisTestComponent(programText); var root = syntaxAnalysis.Tree.GetCompilationUnitRoot(); var classDeclarationNode = root.DescendantNodes() .OfType <ClassDeclarationSyntax>().First(); var walker = getWalker(syntaxAnalysis.Model, classDeclarationNode); return(walker.GetRelations(root)); }
public static void AssertGetStructureOfType <TStructureType>(string programText, StructureType structureType, string target, string component) where TStructureType : MemberDeclarationSyntax { var syntaxAnalysis = new SyntaxAnalysisTestComponent(programText); var root = syntaxAnalysis.Tree.GetCompilationUnitRoot(); var structureDeclarationNode = root.DescendantNodes() .OfType <TStructureType>().First(); var walker = new StructureWalker(syntaxAnalysis.Model); var result = walker.GetStructure( structureDeclarationNode, target); Assert.NotNull(result); Assert.Equal(structureType, result.Type); Assert.Equal(component, result.Name); }