public void ActivatesOpenModulesWithSavedOpenStateOnRecoverOpenState() { var selectionServiceMock = TestSelectionServiceMock(); var openModules = _testModuleSelections.Take(3) .Select(qualifiedSelection => qualifiedSelection.QualifiedName) .ToHashSet(); selectionServiceMock.Setup(m => m.OpenModules()).Returns(openModules); var parseManagerMock = new Mock <IParseManager>(); var selectionRecoverer = new SelectionRecoverer(selectionServiceMock.Object, parseManagerMock.Object); var modulesForWhichToSaveOpenState = _testModuleSelections.Skip(1) .Select(qualifiedSelection => qualifiedSelection.QualifiedName) .ToHashSet(); selectionRecoverer.SaveOpenState(modulesForWhichToSaveOpenState); selectionRecoverer.RecoverOpenState(); selectionServiceMock.Verify(m => m.TryActivate(_testModuleSelections[1].QualifiedName), Times.Once); selectionServiceMock.Verify(m => m.TryActivate(_testModuleSelections[2].QualifiedName), Times.Once); selectionServiceMock.Verify(m => m.TryActivate(_testModuleSelections[0].QualifiedName), Times.Never); selectionServiceMock.Verify(m => m.TryActivate(_testModuleSelections[3].QualifiedName), Times.Never); }