/// <summary> /// Provide a INamedTypeSymbol based on the testclass supplied as a string. <seealso cref="Constants"/> for the data. /// </summary> /// <param name="testClass">The test class in a string format.</param> /// <returns>A named type symbol based on the provided data</returns> public INamedTypeSymbol GetMockClass(string testClass) { var symbolProvider = new SymbolProvider(); var wrappedTestClass = this.WrapInNamespace(testClass); SyntaxTree tree = CSharpSyntaxTree.ParseText(wrappedTestClass); CompilationUnitSyntax root = tree.GetCompilationUnitRoot(); var compilation = CSharpCompilation.Create("TestCompilation") .AddReferences(MetadataReference.CreateFromFile(typeof(string).Assembly.Location)) .AddSyntaxTrees(tree); var symbols = symbolProvider.GetNamedTypeSymbols(new List <Compilation>() { compilation }); return(symbols.Single()); }