示例#1
0
        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
                    }
                }")));
        }
示例#2
0
        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
                    }
                }")));
        }