Index: Application/Riskeer/test/Application.Riskeer.Integration.Test/StorageMigrationIntegrationTest.cs =================================================================== diff -u -rf907ea63cbb78d5f91e41102448f5247bfa0459f -r4cd36cfdb9ddea498762088f113df2277ca62333 --- Application/Riskeer/test/Application.Riskeer.Integration.Test/StorageMigrationIntegrationTest.cs (.../StorageMigrationIntegrationTest.cs) (revision f907ea63cbb78d5f91e41102448f5247bfa0459f) +++ Application/Riskeer/test/Application.Riskeer.Integration.Test/StorageMigrationIntegrationTest.cs (.../StorageMigrationIntegrationTest.cs) (revision 4cd36cfdb9ddea498762088f113df2277ca62333) @@ -147,8 +147,7 @@ // Then Assert.IsNull(gui.ProjectFilePath); - Assert.AreEqual("Project", gui.Project.Name); - Assert.IsEmpty(gui.Project.Description); + Assert.IsNull(gui.Project); } mocks.VerifyAll(); Index: Core/Gui/test/Core.Gui.Test/Forms/MainWindow/MainWindowTest.cs =================================================================== diff -u -r5ffc15979f0958864318ce6c53c8f968b63b7ffd -r4cd36cfdb9ddea498762088f113df2277ca62333 --- Core/Gui/test/Core.Gui.Test/Forms/MainWindow/MainWindowTest.cs (.../MainWindowTest.cs) (revision 5ffc15979f0958864318ce6c53c8f968b63b7ffd) +++ Core/Gui/test/Core.Gui.Test/Forms/MainWindow/MainWindowTest.cs (.../MainWindowTest.cs) (revision 4cd36cfdb9ddea498762088f113df2277ca62333) @@ -103,7 +103,7 @@ Assert.AreEqual(FlowDirection.LeftToRight, mainWindow.FlowDirection); Assert.AreEqual("RiskeerMainWindow", mainWindow.Name); - Assert.IsNotNull(mainWindow.NewProjectCommand); + Assert.IsNull(mainWindow.NewProjectCommand); Assert.IsNotNull(mainWindow.SaveProjectCommand); Assert.IsNotNull(mainWindow.SaveProjectAsCommand); Assert.IsNotNull(mainWindow.OpenProjectCommand); @@ -131,10 +131,11 @@ using (var mainWindow = new Gui.Forms.MainWindow.MainWindow()) { - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); // Assert Assert.IsNotNull(mainWindow.BackstageViewModel); + Assert.IsNotNull(mainWindow.NewProjectCommand); mocks.VerifyAll(); } } @@ -186,7 +187,7 @@ using (var mainWindow = new Gui.Forms.MainWindow.MainWindow()) { - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); // Call mainWindow.Visible = true; @@ -217,7 +218,7 @@ using (var mainWindow = new Gui.Forms.MainWindow.MainWindow()) { - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.Visible = true; // Call @@ -264,7 +265,7 @@ using (var mainWindow = new Gui.Forms.MainWindow.MainWindow()) { - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); // Call mainWindow.SubscribeToGui(); @@ -310,7 +311,7 @@ using (var mainWindow = new Gui.Forms.MainWindow.MainWindow()) { - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.SubscribeToGui(); // Call @@ -359,7 +360,7 @@ using (var mainWindow = new Gui.Forms.MainWindow.MainWindow()) { - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); // Call mainWindow.InitPropertiesWindowOrBringToFront(); @@ -397,7 +398,7 @@ using (var mainWindow = new Gui.Forms.MainWindow.MainWindow()) { - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitPropertiesWindowOrBringToFront(); IView originalPropertyGrid = mainWindow.PropertyGrid; @@ -464,7 +465,7 @@ using (var mainWindow = new Gui.Forms.MainWindow.MainWindow()) { - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); // Call mainWindow.InitializeToolWindows(); @@ -556,7 +557,7 @@ gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); // When mainWindow.InitializeToolWindows(); @@ -590,7 +591,8 @@ gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); + gui.SetProject(project, null); // When mainWindow.InitializeToolWindows(); @@ -625,7 +627,8 @@ gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); + gui.SetProject(project, null); // When mainWindow.InitializeToolWindows(); @@ -657,7 +660,7 @@ gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); // Precondition @@ -699,8 +702,9 @@ gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); + gui.SetProject(project1, null); // Precondition Assert.IsNotNull(mainWindow.ProjectExplorer); @@ -742,8 +746,9 @@ gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); + gui.SetProject(project1, null); // Precondition Assert.IsNotNull(mainWindow.ProjectExplorer); @@ -778,7 +783,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); var testMapView = new TestMapView(); @@ -814,7 +819,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); var view = new TestMapView(); @@ -850,7 +855,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); var view1 = new TestMapView(); @@ -890,7 +895,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); var view = new TestMapView(); @@ -928,7 +933,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); var view1 = new TestMapView(); @@ -968,7 +973,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); var view = new TestChartView(); @@ -1004,7 +1009,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); var view1 = new TestChartView(); @@ -1044,7 +1049,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); var view = new TestChartView(); @@ -1082,7 +1087,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); mainWindow.InitializeToolWindows(); var view1 = new TestChartView(); @@ -1115,9 +1120,6 @@ var projectStore = mocks.Stub(); var projectMigrator = mocks.Stub(); var projectFactory = mocks.StrictMock(); - projectFactory.Expect(pf => pf.CreateNewProject()) - .Return(mocks.Stub()) - .Repeat.Times(3); mocks.ReplayAll(); using (var mainWindow = new Gui.Forms.MainWindow.MainWindow()) @@ -1126,7 +1128,13 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + var onNewProjectActionClicked = 0; + void OnNewProjectAction() + { + onNewProjectActionClicked++; + } + + mainWindow.SetGui(gui, OnNewProjectAction); if (backstageVisible) { @@ -1137,6 +1145,7 @@ mainWindow.NewProjectCommand.Execute(null); // Then + Assert.AreEqual(1, onNewProjectActionClicked); Assert.AreEqual(Visibility.Collapsed, mainWindow.BackstageDockPanel.Visibility); Assert.AreEqual(Visibility.Visible, mainWindow.MainDockPanel.Visibility); } @@ -1187,7 +1196,8 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); + gui.SetProject(project, null); if (backstageVisible) { @@ -1249,7 +1259,8 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); + gui.SetProject(project, null); if (backstageVisible) { @@ -1307,7 +1318,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); if (backstageVisible) { @@ -1344,7 +1355,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); // When bool canExecute = mainWindow.CloseViewTabCommand.CanExecute(null); @@ -1375,7 +1386,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); gui.ViewHost.AddDocumentView(new TestView()); @@ -1410,7 +1421,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); if (backstageVisible) { @@ -1448,7 +1459,7 @@ gui.Plugins.Add(new TestPlugin()); gui.Run(); - mainWindow.SetGui(gui); + mainWindow.SetGui(gui, () => {}); ICommand command = getCommandFunc(mainWindow); Index: Core/Gui/test/Core.Gui.Test/GuiCoreTest.cs =================================================================== diff -u -r77f39b82687804c76c0f34dc826b72d6f61d131a -r4cd36cfdb9ddea498762088f113df2277ca62333 --- Core/Gui/test/Core.Gui.Test/GuiCoreTest.cs (.../GuiCoreTest.cs) (revision 77f39b82687804c76c0f34dc826b72d6f61d131a) +++ Core/Gui/test/Core.Gui.Test/GuiCoreTest.cs (.../GuiCoreTest.cs) (revision 4cd36cfdb9ddea498762088f113df2277ca62333) @@ -609,11 +609,14 @@ var projectStore = mocks.Stub(); var projectMigrator = mocks.Stub(); projectMigrator.Stub(m => m.ShouldMigrate(testFile)).Return(MigrationRequired.No); - var deserializedProject = mocks.Stub(); - projectStore.Expect(ps => ps.LoadProject(testFile)).Return(deserializedProject); - IProjectFactory projectFactory = CreateProjectFactory(mocks); + var project = mocks.Stub(); + projectStore.Expect(ps => ps.LoadProject(testFile)).Return(project); + var projectFactory = mocks.Stub(); + projectFactory.Stub(pf => pf.CreateNewProject()).Return(project); mocks.ReplayAll(); + project.Name = fileName; + var fixedSettings = new GuiCoreSettings { ApplicationName = "
" @@ -624,7 +627,7 @@ { gui.Plugins.Add(new TestPlugin(new[] { - new StateInfo("Name", "Symbol", project => project) + new StateInfo("Name", "Symbol", p => p) })); // Call @@ -638,9 +641,8 @@ }; TestHelper.AssertLogMessagesWithLevelAreGenerated(Call, expectedMessages); Assert.AreEqual(testFile, gui.ProjectFilePath); - Assert.AreSame(deserializedProject, gui.Project); - Assert.AreEqual(fileName, gui.Project.Name, - "Project name should be updated to the name of the file."); + Assert.AreSame(project, gui.Project); + Assert.AreEqual(fileName, gui.Project.Name); var expectedTitle = $"{fileName} - {fixedSettings.ApplicationName} {SettingsHelper.Instance.ApplicationVersion}"; Assert.AreEqual(expectedTitle, mainWindow.Title); @@ -652,44 +654,35 @@ [Test] [Apartment(ApartmentState.STA)] - public void Run_LoadingFromOutdatedFileAndMigrationCancelled_LoadDefaultProjectInstead() + public void Run_LoadingFromOutdatedFileAndMigrationCancelled_NoProjectSetAndMainWindowNotShown() { // Setup const string fileName = "SomeFile"; var testFile = $"{fileName}.rtd"; var mocks = new MockRepository(); var projectStore = mocks.Stub(); - var projectMigrator = mocks.Stub(); projectMigrator.Stub(pm => pm.ShouldMigrate(testFile)).Return(MigrationRequired.Yes); projectMigrator.Stub(pm => pm.DetermineMigrationLocation(testFile)).Return(null); - - const string expectedProjectName = "Project"; - var project = mocks.Stub(); - project.Name = expectedProjectName; var projectFactory = mocks.Stub(); - projectFactory.Stub(ph => ph.CreateNewProject()).Return(project); - mocks.ReplayAll(); - var fixedSettings = new GuiCoreSettings - { - ApplicationName = "
" - }; - using (var mainWindow = new MainWindow()) - using (var gui = new GuiCore(mainWindow, projectStore, projectMigrator, projectFactory, fixedSettings)) + using (var gui = new GuiCore(mainWindow, projectStore, projectMigrator, projectFactory, new GuiCoreSettings())) { gui.Plugins.Add(new TestPlugin()); + var mainWindowShownCounter = 0; + mainWindow.Loaded += (sender, args) => mainWindowShownCounter++; + // Call gui.Run(testFile); // Assert Assert.IsNull(gui.ProjectFilePath); - var expectedTitle = $"{expectedProjectName} - {fixedSettings.ApplicationName} {SettingsHelper.Instance.ApplicationVersion}"; - Assert.AreEqual(expectedTitle, mainWindow.Title); + Assert.IsNull(gui.Project); + Assert.AreEqual(0, mainWindowShownCounter); } mocks.VerifyAll(); @@ -860,38 +853,32 @@ [TestCase(" ")] [TestCase(null)] [Apartment(ApartmentState.STA)] - public void Run_WithoutFile_DefaultProjectStillSet(string path) + public void Run_WithoutFile_NoProjectSetAndMainWindowNotShown(string path) { // Setup var mocks = new MockRepository(); var projectStore = mocks.StrictMock(); var projectMigrator = mocks.Stub(); - - const string expectedProjectName = "Project"; - var project = mocks.Stub(); - project.Name = expectedProjectName; var projectFactory = mocks.Stub(); - projectFactory.Stub(ph => ph.CreateNewProject()).Return(project); mocks.ReplayAll(); - var fixedSettings = new GuiCoreSettings - { - ApplicationName = "" - }; + var fixedSettings = new GuiCoreSettings(); using (var mainWindow = new MainWindow()) using (var gui = new GuiCore(mainWindow, projectStore, projectMigrator, projectFactory, fixedSettings)) { gui.Plugins.Add(new TestPlugin()); + var mainWindowShownCounter = 0; + mainWindow.Loaded += (sender, args) => mainWindowShownCounter++; + // Call gui.Run(path); // Assert Assert.IsNull(gui.ProjectFilePath); - Assert.AreSame(project, gui.Project); - var expectedTitle = $"{expectedProjectName} - {fixedSettings.ApplicationName} {SettingsHelper.Instance.ApplicationVersion}"; - Assert.AreEqual(expectedTitle, mainWindow.Title); + Assert.IsNull(gui.Project); + Assert.AreEqual(0, mainWindowShownCounter); } mocks.VerifyAll(); @@ -1316,10 +1303,8 @@ var mocks = new MockRepository(); var storeProject = mocks.Stub<IStoreProject>(); var projectMigrator = mocks.Stub<IMigrateProject>(); - var oldProject = mocks.Stub<IProject>(); var newProject = mocks.Stub<IProject>(); var projectFactory = mocks.Stub<IProjectFactory>(); - projectFactory.Stub(pf => pf.CreateNewProject()).Return(oldProject); mocks.ReplayAll(); using (var gui = new GuiCore(new MainWindow(), storeProject, projectMigrator, projectFactory, new GuiCoreSettings())) @@ -1328,7 +1313,7 @@ var beforeOpenCallCount = 0; gui.BeforeProjectOpened += project => { - Assert.AreSame(oldProject, project); + Assert.IsNull(project); beforeOpenCallCount++; }; gui.ProjectOpened += project => Fisheye: Tag 4cd36cfdb9ddea498762088f113df2277ca62333 refers to a dead (removed) revision in file `Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/RiskeerProjectTreeNodeInfoTest.cs'. Fisheye: No comparison available. Pass `N' to diff?