public void FindSolutionFile() { Assert.AreEqual(true, CodeFactory.TryFindSolutionFile("Gu.Roslyn.Asserts.sln", out var sln)); Assert.AreEqual("Gu.Roslyn.Asserts.sln", sln.Name); sln = CodeFactory.FindSolutionFile("Gu.Roslyn.Asserts.sln"); Assert.AreEqual("Gu.Roslyn.Asserts.sln", sln.Name); }
private static MetadataReference CreateDllReference(string dllName) { // ReSharper disable once PossibleNullReferenceException var dll = CodeFactory.FindSolutionFile("PropertyChangedAnalyzers.sln") .Directory.EnumerateFiles(dllName, SearchOption.AllDirectories) .First(); return(MetadataReference.CreateFromFile(dll.FullName)); }
public async Task Solution() { var analyzer = new FieldNameMustNotBeginWithUnderscore(); var sln = CodeFactory.CreateSolution( CodeFactory.FindSolutionFile("Gu.Roslyn.Asserts.sln"), MetadataReferences.Transitive(typeof(BenchmarkTests).Assembly).ToArray()); var benchmark = await Benchmark.CreateAsync(sln, analyzer).ConfigureAwait(false); CollectionAssert.IsNotEmpty(benchmark.SyntaxNodeActions); CollectionAssert.AllItemsAreInstancesOfType(benchmark.SyntaxNodeActions.Select(x => x.Context.Node), typeof(FieldDeclarationSyntax)); CollectionAssert.AllItemsAreInstancesOfType(benchmark.SyntaxNodeActions.Select(x => x.Context.ContainingSymbol), typeof(IFieldSymbol)); Assert.AreSame(analyzer, benchmark.Analyzer); benchmark.Run(); benchmark.Run(); }