public void OnNextParseAfterSetupSetsSelectionsBeforeReactivatingTheActiveCodePane() { var lastCalledMethod = string.Empty; var selectionServiceMock = TestSelectionServiceMock(); selectionServiceMock.Setup(m => m.TryActivate(It.IsAny <QualifiedModuleName>())) .Callback((QualifiedModuleName module) => lastCalledMethod = "TryActivate"); selectionServiceMock.Setup(m => m.TrySetSelection(It.IsAny <QualifiedModuleName>(), It.IsAny <Selection>())) .Callback((QualifiedModuleName module, Selection selection) => lastCalledMethod = "TrySetSelection"); selectionServiceMock.Setup(m => m.ActiveSelection()).Returns(() => _testModuleSelections[1]); var parseManagerMock = new Mock <IParseManager>(); var selectionRecoverer = new SelectionRecoverer(selectionServiceMock.Object, parseManagerMock.Object); var selectionRecoveryModules = _testModuleSelections .Select(qualifiedSelection => qualifiedSelection.QualifiedName).Take(2); selectionRecoverer.SaveSelections(selectionRecoveryModules); selectionRecoverer.RecoverSavedSelectionsOnNextParse(); selectionRecoverer.SaveActiveCodePane(); selectionRecoverer.RecoverActiveCodePaneOnNextParse(); var stateEventArgs = new ParserStateEventArgs(_stateExpectedToTriggerTheRecovery, ParserState.Pending, CancellationToken.None); parseManagerMock.Raise(m => m.StateChanged += null, stateEventArgs); Assert.AreEqual("TryActivate", lastCalledMethod); }
public void DoesNotActivateAnythingOnRecoverActiveCodePane_ActiveSelectionDoesNotExist() { var selectionServiceMock = TestSelectionServiceMock(); selectionServiceMock.Setup(m => m.ActiveSelection()).Returns((QualifiedSelection?)null); var parseManagerMock = new Mock <IParseManager>(); var selectionRecoverer = new SelectionRecoverer(selectionServiceMock.Object, parseManagerMock.Object); selectionRecoverer.SaveActiveCodePane(); selectionRecoverer.RecoverActiveCodePane(); selectionServiceMock.Verify(m => m.TryActivate(It.IsAny <QualifiedModuleName>()), Times.Never); }
public void RecoverActiveCodePaneOnNextParseDoesNotDoAnythingImmediately() { var selectionServiceMock = TestSelectionServiceMock(); var activeSelection = _testModuleSelections[1]; selectionServiceMock.Setup(m => m.ActiveSelection()).Returns(activeSelection); var parseManagerMock = new Mock <IParseManager>(); var selectionRecoverer = new SelectionRecoverer(selectionServiceMock.Object, parseManagerMock.Object); selectionRecoverer.SaveActiveCodePane(); selectionRecoverer.RecoverActiveCodePaneOnNextParse(); selectionServiceMock.Verify(m => m.TryActivate(activeSelection.QualifiedName), Times.Never); }
public void ActivatesSavedActiveCodePaneOnRecoverActiveCodePane_ActiveSelectionExists() { var selectionServiceMock = TestSelectionServiceMock(); var activeSelection = _testModuleSelections[1]; selectionServiceMock.Setup(m => m.ActiveSelection()).Returns(activeSelection); var parseManagerMock = new Mock <IParseManager>(); var selectionRecoverer = new SelectionRecoverer(selectionServiceMock.Object, parseManagerMock.Object); selectionRecoverer.SaveActiveCodePane(); selectionRecoverer.RecoverActiveCodePane(); selectionServiceMock.Verify(m => m.TryActivate(activeSelection.QualifiedName), Times.Once); }
DoesNotActivateAnythingOnNextParseAfterOnRecoverActiveCodePaneOnNextParse_ActiveSelectionDoesNotExist() { var selectionServiceMock = TestSelectionServiceMock(); selectionServiceMock.Setup(m => m.ActiveSelection()).Returns((QualifiedSelection?)null); var parseManagerMock = new Mock <IParseManager>(); var selectionRecoverer = new SelectionRecoverer(selectionServiceMock.Object, parseManagerMock.Object); selectionRecoverer.SaveActiveCodePane(); selectionRecoverer.RecoverActiveCodePaneOnNextParse(); var stateEventArgs = new ParserStateEventArgs(_stateExpectedToTriggerTheRecovery, ParserState.Pending, CancellationToken.None); parseManagerMock.Raise(m => m.StateChanged += null, stateEventArgs); selectionServiceMock.Verify(m => m.TryActivate(It.IsAny <QualifiedModuleName>()), Times.Never); }
ActivatesSavedActiveCodePaneOnNextParseAfterOnRecoverActiveCodePaneOnNextParse_ActiveSelectionExists() { var selectionServiceMock = TestSelectionServiceMock(); var activeSelection = _testModuleSelections[1]; selectionServiceMock.Setup(m => m.ActiveSelection()).Returns(activeSelection); var parseManagerMock = new Mock <IParseManager>(); var selectionRecoverer = new SelectionRecoverer(selectionServiceMock.Object, parseManagerMock.Object); selectionRecoverer.SaveActiveCodePane(); selectionRecoverer.RecoverActiveCodePaneOnNextParse(); var stateEventArgs = new ParserStateEventArgs(_stateExpectedToTriggerTheRecovery, ParserState.Pending, CancellationToken.None); parseManagerMock.Raise(m => m.StateChanged += null, stateEventArgs); selectionServiceMock.Verify(m => m.TryActivate(activeSelection.QualifiedName), Times.Once); }