public async Task ArgumentExtractor_NestedInvocations_ReportsCorrectArguments(string methodName, string expectedArgument) { var symbolToUse = await GetTestSymbolFor(methodName); var sut = new InvocationArgumentExtractor(_logger); var result = await sut.FindArguments(symbolToUse, _solution); result.Should().HaveCount(1); var arguments = result.First().Arguments; arguments.Should().HaveCount(1); arguments.First().ToString().Should().Be(expectedArgument); }
private static async Task ArgumentExtraction(IEnumerable <ISymbol> declaredSymbols, Solution solution, ProgramOptions options) { var argumentExtractor = new InvocationArgumentExtractor(_logger); foreach (var symbol in declaredSymbols) { var argumentResults = await argumentExtractor.FindArguments(symbol, solution); _logger.Info("Reporting location and arguments for calls to " + symbol.ToDisplayString()); foreach (var result in argumentResults.OrderBy(r => r.FilePath)) { PrintResult(result); } } }
public async Task ArgumentExtractor_SymbolFound_ReportsCorrectLocation() { var symbolToUse = await GetTestSymbolFor("LocationTest"); var sut = new InvocationArgumentExtractor(_logger); var result = await sut.FindArguments(symbolToUse, _solution); result.Should().HaveCount(1); var firstResult = result.First(); var location = firstResult.FilePosition; location.line.Should().Be(22); location.col.Should().Be(23); }