public async Task ShouldAddUsingOnCommit() { const string source = @" public class Test { public void Method() { var list = new } }"; var document = GetTestDocument(source); var listCompletion = (await GetCompletionsAsync(Provider, document, "var list = new ")) .First(c => Matches(c, "List<>", "System.Collections.Generic")); listCompletion = CompletionList .Create(new TextSpan(source.IndexOf("var list = new "), 0), ImmutableArray.Create(listCompletion)) .Items[0]; var changes = await Provider.GetChangeAsync(document, listCompletion, ' ', CancellationToken.None); var textWithChanges = (await document.GetTextAsync()).WithChanges(changes.TextChange).ToString(); Assert.That(NormSpaces(textWithChanges), Is.EqualTo(NormSpaces(@" using System.Collections.Generic; public class Test { public void Method() { var list = new List } }"))); }
public async Task ShouldAddUsingOnCommit() { const string source = @" public class Test { public void Method() { var list = new } }"; const string classFile = @" namespace NM { public class ContainingClass { public class NestedClass { } } }"; var document = GetTestDocument(source, classFile); var listCompletion = (await GetCompletionsAsync(Provider_WithOptions(o => o.SuggestNestedTypes = true), document, "var list = new ")) .First(c => Matches(c, "ContainingClass.NestedClass", "NM")); listCompletion = CompletionList .Create(new TextSpan(source.IndexOf("var list = new "), 0), ImmutableArray.Create(listCompletion)) .Items[0]; var changes = await Provider.GetChangeAsync(document, listCompletion, ' ', CancellationToken.None); var textWithChanges = (await document.GetTextAsync()).WithChanges(changes.TextChange).ToString(); Assert.That(NormSpaces(textWithChanges), Is.EqualTo(NormSpaces(@" using NM; public class Test { public void Method() { var list = new ContainingClass.NestedClass } }"))); }