public CompilationUnitSyntax GenerateCompilationUnit(CompilationUnitSyntax root, ClassDeclarationSyntax classDeclaration, string namespaceOfSourceClass, string FileName) { var diagnostics = classDeclaration.GetDiagnostics().Where(n => n.Severity == Microsoft.CodeAnalysis.DiagnosticSeverity.Error); if (diagnostics.Count() > 0) { return(null); } NamespaceDeclarationSyntax NamespaceDecl = SyntaxFactory.NamespaceDeclaration(SyntaxFactory.ParseName(namespaceOfSourceClass + "Tests")); var methods = classDeclaration.DescendantNodes().OfType <MethodDeclarationSyntax>().Where(method => method.Modifiers.Any(SyntaxKind.PublicKeyword)); var unit = SyntaxFactory.CompilationUnit() .AddUsings(GenerateUsings(root)) .AddMembers(NamespaceDecl .AddMembers(GenerateClass(FileName) .AddMembers(GenerateMethods(methods) ))); return(unit.NormalizeWhitespace()); }