示例#1
0
        void Initialize(JoinableTaskContext taskContext)
        {
            _taskContext = taskContext;
            taskContext.ThrowIfNotOnMainThread();

            base.Initialize();
            YetiLog.Initialize("YetiVSI", DateTime.Now);

            CoreAttachCommand.Register(this);
            LLDBShellCommandTarget.Register(taskContext, this);
            DebuggerOptionsCommand.Register(taskContext, this);
        }
        public void SetUp()
        {
            logSpy = new LogSpy();
            logSpy.Attach();

            var taskContext = new JoinableTaskContext();

            commandWindowText = "";

            commandWindowMock = Substitute.For <IVsCommandWindow>();
            commandWindowMock.Print(Arg.Do <string>(x => commandWindowText += x));

            serviceProviderMock = Substitute.For <IServiceProvider>();

            yetiService = new YetiVSIService(null);

            serviceProviderMock.GetService(typeof(YetiVSIService)).Returns(yetiService);
            serviceProviderMock.GetService(typeof(SVsCommandWindow)).Returns(commandWindowMock);

            debugEngineCommandsMock = Substitute.For <IDebugEngineCommands>();

            // (internal): This needs to be a member variable since debugEngineManager tracks it
            //              by weak reference only!.
            debugEngineMock = Substitute.For <IGgpDebugEngine>();
            debugEngineMock.DebugEngineCommands.Returns(debugEngineCommandsMock);

            debugEngineManager = new DebugEngineManager();
            debugEngineManager.AddDebugEngine(debugEngineMock);

            serviceProviderMock.GetService(typeof(SDebugEngineManager))
            .Returns(debugEngineManager);

            menuCommandService = new OleMenuCommandService(serviceProviderMock);
            serviceProviderMock.GetService(typeof(IMenuCommandService))
            .Returns(menuCommandService);

            DebuggerOptionsCommand.Register(taskContext, serviceProviderMock);
        }