public void EnsureControllerManagesMainLiftBridgeViewUsingExtantSystemWithNoChangesFromAfar()
        {
            var mockedClient = new MockedLiftBridgeClient(_liftBridgeController);

            Assert.IsFalse(mockedClient.HandledBasicLexiconImport);
            Assert.IsFalse(mockedClient.HandledImportLexicon);
            Assert.IsFalse(mockedClient.HandledExportLexicon);

            var liftProject = new LiftProject("DProject");

            _pathToProject = LiftProjectServices.PathToProject(liftProject);
            Directory.CreateDirectory(_pathToProject);
            Directory.CreateDirectory(Path.Combine(_pathToProject, ".hg"));
            var projPath     = LiftProjectServices.PathToProject(liftProject);
            var liftPathname = Path.Combine(projPath, "DProject.lift");

            File.WriteAllText(liftPathname, "");

            _liftBridgeController.DoSendReceiveForLanguageProject(_parentForm, "DProject");

            _mockedExistingSystem.SimulateSendReceiveWithNoChangesFromAfar();

            // Should be the existing system view by now.
            Assert.AreSame(_mockedExistingSystem, _mockedLiftBridgeView.ActiveView);
            Assert.IsTrue(_mockedExistingSystem.ExportLexiconIsWiredUp);
            Assert.IsTrue(_mockedExistingSystem.ImportLexiconIsWiredUp);

            Assert.IsFalse(mockedClient.HandledBasicLexiconImport);
            Assert.IsFalse(mockedClient.HandledImportLexicon);
            Assert.IsTrue(mockedClient.HandledExportLexicon);
        }
        public void EnsureControllerManagesMainLiftBridgeViewStartingWithStartupViewAndEndingWithExistingView()
        {
            var mockedClient = new MockedLiftBridgeClient(_liftBridgeController);

            Assert.IsFalse(mockedClient.HandledBasicLexiconImport);
            Assert.IsFalse(mockedClient.HandledImportLexicon);
            Assert.IsFalse(mockedClient.HandledExportLexicon);

            _liftBridgeController.DoSendReceiveForLanguageProject(_parentForm, "AProject");
            var lp = _liftBridgeController.Liftproject;

            _pathToProject = LiftProjectServices.PathToProject(lp);
            Assert.IsNotNull(_mockedLiftBridgeView.MainForm);
            Assert.AreSame(_parentForm, _mockedLiftBridgeView.MainForm);
            Assert.AreEqual("LIFT Bridge: AProject", _mockedLiftBridgeView.Title);
            Assert.AreSame(_mockedStartupNewView, _mockedLiftBridgeView.ActiveView);

            var projPath     = LiftProjectServices.PathToProject(lp);
            var liftPathname = Path.Combine(projPath, "AProject.lift");

            Assert.IsFalse(File.Exists(liftPathname));

            _mockedStartupNewView.RaiseStartupOnNewShare();
            Assert.IsTrue(File.Exists(liftPathname));
            // Should be the existing system view by now.
            Assert.AreSame(_mockedExistingSystem, _mockedLiftBridgeView.ActiveView);
            Assert.IsTrue(_mockedExistingSystem.ExportLexiconIsWiredUp);
            Assert.IsTrue(_mockedExistingSystem.ImportLexiconIsWiredUp);

            Assert.IsFalse(mockedClient.HandledBasicLexiconImport);
            Assert.IsFalse(mockedClient.HandledImportLexicon);
            Assert.IsFalse(mockedClient.HandledExportLexicon);
        }
        public void EnsureControllerManagesMainLiftBridgeViewUsingExtantSystem()
        {
            var mockedClient = new MockedLiftBridgeClient(_liftBridgeController);

            Assert.IsFalse(mockedClient.HandledBasicLexiconImport);
            Assert.IsFalse(mockedClient.HandledImportLexicon);
            Assert.IsFalse(mockedClient.HandledExportLexicon);

            _liftBridgeController.DoSendReceiveForLanguageProject(_parentForm, "BProject");
            var lp = _liftBridgeController.Liftproject;

            _pathToProject = LiftProjectServices.PathToProject(lp);
            var projPath     = LiftProjectServices.PathToProject(lp);
            var liftPathname = Path.Combine(projPath, "BProject.lift");

            _mockedStartupNewView.RaiseStartupOnExtantShare();
            File.WriteAllText(liftPathname, "");
            Assert.IsTrue(File.Exists(liftPathname));
            // Should be the existing system view by now.
            Assert.AreSame(_mockedExistingSystem, _mockedLiftBridgeView.ActiveView);
            Assert.IsTrue(_mockedExistingSystem.ExportLexiconIsWiredUp);
            Assert.IsTrue(_mockedExistingSystem.ImportLexiconIsWiredUp);

            Assert.IsTrue(mockedClient.HandledBasicLexiconImport);
            Assert.IsFalse(mockedClient.HandledImportLexicon);
            Assert.IsFalse(mockedClient.HandledExportLexicon);
        }