예제 #1
0
        private void RegisterCommandHandlers()
        {
            _buildRunner = new VSBuildRunner(_applicationObject, () => { return(!_client.IsRunning); }, (s) => Connect.SetCustomOutputpath(s), (o) => _control.IncomingMessage(o), (s) => _control.ClearBuilds(s));
            _dispatchers.RegisterHandler(new AutoTestVSConfigurationGlobal(_client));
            _dispatchers.RegisterHandler(new AutoTestVSConfigurationSolution(_client));
            _dispatchers.RegisterHandler(new AutoTestVSDetectRecursive(_client));
            _dispatchers.RegisterHandler(new AutoTestVSAbout(_client));
            _dispatchers.RegisterHandler(new AutoTestVSRunAll(_applicationObject, _client, _buildRunner));
            _dispatchers.RegisterHandler(new AutoTestVSClearTestCache(_client));
            _dispatchers.RegisterHandler(new AutoTestVSRunInformationToolbox(_applicationObject, _addInInstance));
            _dispatchers.RegisterHandler(new RunTestsUnderCursor("ContinuousTests.VS.Connect.ContinuousTests_RunUnderCursor", () => IsSolutionOpened, () => { return(buildManually()); },
                                                                 run => _client.StartOnDemandRun(run), _applicationObject, _buildRunner, run => _client.SetLastRun(run)));
            _dispatchers.RegisterHandler(new AutoTestVSStart(_client));
            _dispatchers.RegisterHandler(new AutoTestVSStop(_client));
            _dispatchers.RegisterHandler(new GetAffectedCodeGraph(_client, _applicationObject));
            _dispatchers.RegisterHandler(new GetProfiledCodeGraph(_client, _applicationObject));
            _dispatchers.RegisterHandler(new AutoTestVSGetLastGraph(_client));
            _dispatchers.RegisterHandler(new GetSequenceDiagram(_client, _applicationObject));
            _dispatchers.RegisterHandler(new DebugCurrentTest("ContinuousTests.VS.Connect.ContinuousTests_DebugCurrentTest", () => IsSolutionOpened, () => { return(buildManually()); },
                                                              GetAssembly, test => Debug(_applicationObject, test), _applicationObject, _buildRunner,
                                                              test => LastDebugRun = test));
            _dispatchers.RegisterHandler(new RerunLastManualTestRun("ContinuousTests.VS.Connect.ContinuousTests_RunLastOnDemandRun", () => { return(Connect.IsSolutionOpened && _client.HasLastOnDemandRun); }, () => { return(buildManually()); },
                                                                    () => _client.RunLastOnDemandRun(), _applicationObject, _buildRunner,
                                                                    () => _client.LastOnDemandRun));
            _dispatchers.RegisterHandler(new RerunLastDebugSession("ContinuousTests.VS.Connect.ContinuousTests_RunLastDebug",
                                                                   () => IsSolutionOpened && LastDebugRun != null, buildManually,
                                                                   () => Debug(_applicationObject, LastDebugRun), _applicationObject, _buildRunner));
            _dispatchers.RegisterHandler(new RunRelatedTests(_client, _applicationObject, _buildRunner));
            _dispatchers.RegisterHandler(new RealtimeToggler(_client));
            _dispatchers.RegisterHandler(new LastTestsRanHandler(_applicationObject, _addInInstance));

            _dispatchers.RegisterHandler(new RunTestsForSolution("ContinuousTests.VS.Connect.ContinuousTests_RunForSolution",
                                                                 () => IsSolutionOpened, buildManually, tests => _client.StartOnDemandRun(tests), _applicationObject, _buildRunner,
                                                                 runs => _client.SetLastRun(runs)));
            _dispatchers.RegisterHandler(new RunTestsForCodeModel("ContinuousTests.VS.Connect.ContinuousTests_RunCodeModelTests",
                                                                  () => IsSolutionOpened, buildManually, (tests) => _client.StartOnDemandRun(tests), _applicationObject, _buildRunner,
                                                                  projects => _client.GetProjectBuildList(projects.Select(x => x.Project)), runs => _client.SetLastRun(runs)));
            _dispatchers.RegisterHandler(new GenericCommand("ContinuousTests.VS.Connect.ContinuousTests_ReportIssue", () => true, () => Browse.To("http://moose.uservoice.com")));
        }
예제 #2
0
        private void initializeCommands()
        {
            _buildRunner = new VSBuildRunner(_applicationObject, () => { return(!_engine.IsRunning); }, (s) => { _engine.SetCustomOutputPath(s); }, (o) => _control.Consume(o), (s) => _control.ClearBuilds(s));
            _dispatchers.RegisterHandler(new ShowFeedbackWindow(_applicationObject, _addInInstance, showFeedbackWindow));
            _dispatchers.RegisterHandler(new GenericCommand("AutoTest.VSAddin.Connect.AutoTestNet_RestartEngine", () => { return(Directory.Exists(getWatchDirectory())); }, () =>
            {
                onSolutionClosingFinished();
                System.Threading.Thread.Sleep(500);
                onSolutionOpened();
            }));
            _dispatchers.RegisterHandler(new GenericCommand("AutoTest.VSAddin.Connect.AutoTestNet_ResumeEngine", () => { return(!_engine.IsRunning); }, () => _engine.Resume()));
            _dispatchers.RegisterHandler(new GenericCommand("AutoTest.VSAddin.Connect.AutoTestNet_PuseEngine", () => { return(_engine.IsRunning); }, () => _engine.Pause()));
            _dispatchers.RegisterHandler(new GenericCommand("AutoTest.VSAddin.Connect.AutoTestNet_BuildAndTestAll", () => { return(_engine.IsRunning); }, () => _engine.BuildAndTestAll()));
            _dispatchers.RegisterHandler(new OpenConfiguration("AutoTest.VSAddin.Connect.AutoTestNet_ConfigGlobal", () => { return(getUsrLocalPath()); }, (s) => { return(s); }));
            _dispatchers.RegisterHandler(new OpenConfiguration("AutoTest.VSAddin.Connect.AutoTestNet_ConfigLocal", () => { return(getWatchDirectory()); }, (s) => { return(new PathTranslator(_WatchToken).Translate(s)); }));

            _dispatchers.RegisterHandler(new RunTestsUnderCursor("AutoTest.VSAddin.Connect.AutoTestNet_RunTestsUnderCursor",
                                                                 () => { return(isEnabled()); }, () => { return(buildManually()); }, (run) => { _engine.RunTests(run, _onCompletedOnDemandRun); }, _applicationObject, _buildRunner,
                                                                 (run) => _engine.SetLastTestRun(new[] { run })));
            _dispatchers.RegisterHandler(new RerunLastManualTestRun("AutoTest.VSAddin.Connect.AutoTestNet_RerunLastManualTestRun",
                                                                    () => { return(isEnabled() && _engine.LastTestRun != null); }, () => { return(buildManually()); }, () => { _engine.RerunLastTestRun(_onCompletedOnDemandRun); }, _applicationObject, _buildRunner,
                                                                    () => { return(_engine.LastTestRun); }));
            _dispatchers.RegisterHandler(new DebugCurrentTest("AutoTest.VSAddin.Connect.AutoTestNet_DebugTestUnderCursor",
                                                              () => { return(true); }, () => { return(buildManually()); }, (s) => { return(_engine.GetAssemblyFromProject(s)); }, (test) => _engine.DebugTest(test), _applicationObject, _buildRunner,
                                                              (test) => _engine.SetLastDebugSession(test)));
            _dispatchers.RegisterHandler(new RerunLastDebugSession("AutoTest.VSAddin.Connect.AutoTestNet_RerunLastDebugSession",
                                                                   () => { return(_engine.LastDebugSession != null); }, () => { return(buildManually()); }, () => _engine.RerunLastDebugSession(), _applicationObject, _buildRunner));

            _dispatchers.RegisterHandler(new RunTestsForSolution("AutoTest.VSAddin.Connect.AutoTestNet_RunSolutionTests",
                                                                 () => { return(isEnabled()); }, () => { return(buildManually()); }, (runs) => { _engine.RunTests(runs, _onCompletedOnDemandRun); }, _applicationObject, _buildRunner,
                                                                 (runs) => _engine.SetLastTestRun(runs)));
            _dispatchers.RegisterHandler(new RunTestsForCodeModel("AutoTest.VSAddin.Connect.AutoTestNet_RunCodeModelTests",
                                                                  () => { return(isEnabled()); }, () => { return(buildManually()); }, (runs) => { _engine.RunTests(runs, _onCompletedOnDemandRun); }, _applicationObject, _buildRunner,
                                                                  (runs) => { return(getBuildListGenerator().Generate(runs.Select(x => x.Project))); },
                                                                  (runs) => _engine.SetLastTestRun(runs)));
        }