コード例 #1
0
        public void SetUp()
        {
            SD.InitializeForUnitTests();
            textEditor = new MockTextEditor();
            textEditor.Document.Text = programStart + "override " + programEnd;
            textEditor.Caret.Offset  = programStart.Length + "override ".Length;
            var parseInfo = textEditor.CreateParseInformation();
            var pc        = new CSharpProjectContent().AddOrUpdateFiles(parseInfo.UnresolvedFile);

            pc = pc.AddAssemblyReferences(new[] { Corlib });
            var compilation = pc.CreateCompilation();

            SD.Services.AddService(typeof(IParserService), MockRepository.GenerateStrictMock <IParserService>());
            SD.ParserService.Stub(p => p.GetCachedParseInformation(textEditor.FileName)).Return(parseInfo);
            SD.ParserService.Stub(p => p.GetCompilationForFile(textEditor.FileName)).Return(compilation);
            SD.ParserService.Stub(p => p.Parse(textEditor.FileName, textEditor.Document)).WhenCalled(
                i => {
                var syntaxTree = new CSharpParser().Parse(textEditor.Document, textEditor.FileName);
                i.ReturnValue  = new CSharpFullParseInformation(syntaxTree.ToTypeSystem(), null, syntaxTree);
            });
            CSharpCompletionBinding completion = new CSharpCompletionBinding();

            keyPressResult = completion.HandleKeyPressed(textEditor, ' ');
        }