public async Task ShouldCollectExpectedNumberOfExtensionMethods(string[] paths, int expected) { // Arrange var generator = new OverloadsGenerator(); var project = Verifier.CreateProject( paths .Concat(Directory.EnumerateFiles("TestData/Source/Common", "*.cs", SearchOption.AllDirectories)) .Select(path => File.ReadAllText(path))); var compilation = await project.GetCompilationAsync().ConfigureAwait(false); // Act var result = generator.CollectExtensionMethods(compilation !); // Assert _ = result.Values.SelectMany(item => item).Count().Must() .BeEqualTo(expected); }
public async Task ClassesWithOverloadsShouldNotGenerate(string[] paths) { // Arrange var generator = new OverloadsGenerator(); var project = Verifier.CreateProject( paths .Concat(Directory.EnumerateFiles("TestData/Source/Common", "*.cs", SearchOption.AllDirectories)) .Select(path => File.ReadAllText(path))); var compilation = await project.GetCompilationAsync().ConfigureAwait(false); // Act var extensionMethods = generator.CollectExtensionMethods(compilation !); var result = generator.GenerateSource(compilation !, extensionMethods); // Assert _ = result.Must() .BeEnumerableOf <(INamedTypeSymbol, INamedTypeSymbol, string)>() .BeEmpty(); }