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);
        }