Index: Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs =================================================================== diff -u -rde99915e801d15cda0f5bb52eafa3cdfa76479ae -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision de99915e801d15cda0f5bb52eafa3cdfa76479ae) +++ Riskeer/Integration/src/Riskeer.Integration.Plugin/RiskeerPlugin.cs (.../RiskeerPlugin.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -89,7 +89,6 @@ using Riskeer.Integration.Plugin.Properties; using Riskeer.Integration.Service; using Riskeer.Integration.Service.Comparers; -using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; using Riskeer.Piping.Forms.PresentationObjects; using Riskeer.StabilityPointStructures.Forms.PresentationObjects; using Riskeer.StabilityStoneCover.Forms.PresentationObjects; @@ -106,6 +105,8 @@ using GrassCoverErosionOutwardsRegistrationStateFailureMechanismContext = Riskeer.GrassCoverErosionOutwards.Forms.PresentationObjects.RegistrationState.GrassCoverErosionOutwardsFailureMechanismContext; using HeightStructuresCalculationsStateFailureMechanismContext = Riskeer.HeightStructures.Forms.PresentationObjects.CalculationsState.HeightStructuresFailureMechanismContext; using HeightStructuresRegistrationStateFailureMechanismContext = Riskeer.HeightStructures.Forms.PresentationObjects.RegistrationState.HeightStructuresFailureMechanismContext; +using MacroStabilityInwardsCalculationsStateFailureMechanismContext = Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState.MacroStabilityInwardsFailureMechanismContext; +using MacroStabilityInwardsRegistrationStateFailureMechanismContext = Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState.MacroStabilityInwardsFailureMechanismContext; using RiskeerCommonDataResources = Riskeer.Common.Data.Properties.Resources; using RiskeerCommonIOResources = Riskeer.Common.IO.Properties.Resources; using RiskeerCommonUtilResources = Riskeer.Common.Util.Properties.Resources; @@ -1780,7 +1781,7 @@ { new PipingCalculationsContext(assessmentSection.Piping, assessmentSection), new GrassCoverErosionInwardsCalculationsStateFailureMechanismContext(assessmentSection.GrassCoverErosionInwards, assessmentSection), - new MacroStabilityInwardsCalculationsContext(assessmentSection.MacroStabilityInwards, assessmentSection), + new MacroStabilityInwardsCalculationsStateFailureMechanismContext(assessmentSection.MacroStabilityInwards, assessmentSection), new HeightStructuresCalculationsStateFailureMechanismContext(assessmentSection.HeightStructures, assessmentSection), new ClosingStructuresCalculationsStateFailureMechanismContext(assessmentSection.ClosingStructures, assessmentSection), new StabilityPointStructuresCalculationsContext(assessmentSection.StabilityPointStructures, assessmentSection) @@ -1857,7 +1858,7 @@ { new PipingFailurePathContext(assessmentSection.Piping, assessmentSection), new GrassCoverErosionInwardsRegistrationStateFailureMechanismContext(assessmentSection.GrassCoverErosionInwards, assessmentSection), - new MacroStabilityInwardsFailurePathContext(assessmentSection.MacroStabilityInwards, assessmentSection), + new MacroStabilityInwardsRegistrationStateFailureMechanismContext(assessmentSection.MacroStabilityInwards, assessmentSection), new MicrostabilityFailurePathContext(assessmentSection.Microstability, assessmentSection), new StabilityStoneCoverFailurePathContext(assessmentSection.StabilityStoneCover, assessmentSection), new WaveImpactAsphaltCoverFailurePathContext(assessmentSection.WaveImpactAsphaltCover, assessmentSection), Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/CalculationsStateRootContextTreeNodeInfoTest.cs =================================================================== diff -u -rde99915e801d15cda0f5bb52eafa3cdfa76479ae -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/CalculationsStateRootContextTreeNodeInfoTest.cs (.../CalculationsStateRootContextTreeNodeInfoTest.cs) (revision de99915e801d15cda0f5bb52eafa3cdfa76479ae) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/CalculationsStateRootContextTreeNodeInfoTest.cs (.../CalculationsStateRootContextTreeNodeInfoTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -37,7 +37,7 @@ using Riskeer.HeightStructures.Forms.PresentationObjects.CalculationsState; using Riskeer.Integration.Data; using Riskeer.Integration.Forms.PresentationObjects; -using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState; using Riskeer.Piping.Forms.PresentationObjects; using Riskeer.StabilityPointStructures.Forms.PresentationObjects; using RiskeerCommonFormsResources = Riskeer.Common.Forms.Properties.Resources; @@ -175,9 +175,9 @@ Assert.AreSame(assessmentSection.GrassCoverErosionInwards, grassCoverErosionInwardsFailureMechanismContext.WrappedData); Assert.AreSame(assessmentSection, grassCoverErosionInwardsFailureMechanismContext.Parent); - var macroStabilityInwardsCalculationsContext = (MacroStabilityInwardsCalculationsContext) objects[2]; - Assert.AreSame(assessmentSection.MacroStabilityInwards, macroStabilityInwardsCalculationsContext.WrappedData); - Assert.AreSame(assessmentSection, macroStabilityInwardsCalculationsContext.Parent); + var macroStabilityInwardsFailureMechanismContext = (MacroStabilityInwardsFailureMechanismContext) objects[2]; + Assert.AreSame(assessmentSection.MacroStabilityInwards, macroStabilityInwardsFailureMechanismContext.WrappedData); + Assert.AreSame(assessmentSection, macroStabilityInwardsFailureMechanismContext.Parent); var heightStructuresFailureMechanismContext = (HeightStructuresFailureMechanismContext) objects[3]; Assert.AreSame(assessmentSection.HeightStructures, heightStructuresFailureMechanismContext.WrappedData); Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/GenericFailureMechanismsContextTreeNodeInfoTest.cs =================================================================== diff -u -rde99915e801d15cda0f5bb52eafa3cdfa76479ae -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/GenericFailureMechanismsContextTreeNodeInfoTest.cs (.../GenericFailureMechanismsContextTreeNodeInfoTest.cs) (revision de99915e801d15cda0f5bb52eafa3cdfa76479ae) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/GenericFailureMechanismsContextTreeNodeInfoTest.cs (.../GenericFailureMechanismsContextTreeNodeInfoTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -37,7 +37,7 @@ using Riskeer.Integration.Data; using Riskeer.Integration.Forms.PresentationObjects; using Riskeer.Integration.Forms.PresentationObjects.StandAlone; -using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState; using Riskeer.Piping.Forms.PresentationObjects; using Riskeer.StabilityPointStructures.Forms.PresentationObjects; using Riskeer.StabilityStoneCover.Forms.PresentationObjects; @@ -184,9 +184,9 @@ Assert.AreSame(assessmentSection.GrassCoverErosionInwards, grassCoverErosionInwardsFailureMechanismContext.WrappedData); Assert.AreSame(assessmentSection, grassCoverErosionInwardsFailureMechanismContext.Parent); - var macroStabilityInwardsFailurePathContext = (MacroStabilityInwardsFailurePathContext) objects[2]; - Assert.AreSame(assessmentSection.MacroStabilityInwards, macroStabilityInwardsFailurePathContext.WrappedData); - Assert.AreSame(assessmentSection, macroStabilityInwardsFailurePathContext.Parent); + var macroStabilityInwardsFailureMechanismContext = (MacroStabilityInwardsFailureMechanismContext) objects[2]; + Assert.AreSame(assessmentSection.MacroStabilityInwards, macroStabilityInwardsFailureMechanismContext.WrappedData); + Assert.AreSame(assessmentSection, macroStabilityInwardsFailureMechanismContext.Parent); var microStabilityFailurePathContext = (MicrostabilityFailurePathContext) objects[3]; Assert.AreSame(assessmentSection.Microstability, microStabilityFailurePathContext.WrappedData); Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/PresentationObjects/CalculationsState/MacroStabilityInwardsFailureMechanismContext.cs =================================================================== diff -u --- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/PresentationObjects/CalculationsState/MacroStabilityInwardsFailureMechanismContext.cs (revision 0) +++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/PresentationObjects/CalculationsState/MacroStabilityInwardsFailureMechanismContext.cs (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -0,0 +1,43 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Data; + +namespace Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState +{ + /// + /// Presentation object for in the calculations state. + /// + public class MacroStabilityInwardsFailureMechanismContext : FailureMechanismContext + { + /// + /// Creates a new instance of . + /// + /// The failure mechanism. + /// The parent of . + /// Thrown when any parameter is null. + public MacroStabilityInwardsFailureMechanismContext(MacroStabilityInwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection) + : base(failureMechanism, assessmentSection) {} + } +} \ No newline at end of file Fisheye: Tag c074f244a5a06b97a1d3ade52e1815e174968414 refers to a dead (removed) revision in file `Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/PresentationObjects/MacroStabilityInwardsCalculationsContext.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag c074f244a5a06b97a1d3ade52e1815e174968414 refers to a dead (removed) revision in file `Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/PresentationObjects/MacroStabilityInwardsFailurePathContext.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/PresentationObjects/RegistrationState/MacroStabilityInwardsFailureMechanismContext.cs =================================================================== diff -u --- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/PresentationObjects/RegistrationState/MacroStabilityInwardsFailureMechanismContext.cs (revision 0) +++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/PresentationObjects/RegistrationState/MacroStabilityInwardsFailureMechanismContext.cs (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -0,0 +1,43 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Data; + +namespace Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState +{ + /// + /// Presentation object for in the registration state. + /// + public class MacroStabilityInwardsFailureMechanismContext : FailureMechanismContext + { + /// + /// Creates a new instance of . + /// + /// The failure mechanism. + /// The parent of . + /// Thrown when any input argument is null. + public MacroStabilityInwardsFailureMechanismContext(MacroStabilityInwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection) + : base(failureMechanism, assessmentSection) {} + } +} \ No newline at end of file Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs =================================================================== diff -u -r683f8939ea395ffe9b29a54cc87005244a5af182 -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs (.../MacroStabilityInwardsPlugin.cs) (revision 683f8939ea395ffe9b29a54cc87005244a5af182) +++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs (.../MacroStabilityInwardsPlugin.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -61,6 +61,8 @@ using Riskeer.MacroStabilityInwards.Plugin.Properties; using Riskeer.MacroStabilityInwards.Primitives; using Riskeer.MacroStabilityInwards.Service; +using CalculationsStateFailureMechanismContext = Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState.MacroStabilityInwardsFailureMechanismContext; +using RegistrationStateFailureMechanismContext = Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState.MacroStabilityInwardsFailureMechanismContext; using CalculationsStateFailureMechanismProperties = Riskeer.MacroStabilityInwards.Forms.PropertyClasses.CalculationsState.MacroStabilityInwardsFailureMechanismProperties; using RegistrationStateFailureMechanismProperties = Riskeer.MacroStabilityInwards.Forms.PropertyClasses.RegistrationState.MacroStabilityInwardsFailureMechanismProperties; using CalculationsStateFailureMechanismView = Riskeer.MacroStabilityInwards.Forms.Views.CalculationsState.MacroStabilityInwardsFailureMechanismView; @@ -79,11 +81,11 @@ { public override IEnumerable GetPropertyInfos() { - yield return new PropertyInfo + yield return new PropertyInfo { CreateInstance = context => new CalculationsStateFailureMechanismProperties(context.WrappedData) }; - yield return new PropertyInfo + yield return new PropertyInfo { CreateInstance = context => new RegistrationStateFailureMechanismProperties(context.WrappedData, context.Parent) }; @@ -247,13 +249,13 @@ public override IEnumerable GetViewInfos() { - yield return new RiskeerViewInfo(() => Gui) + yield return new RiskeerViewInfo(() => Gui) { GetViewName = (view, context) => context.WrappedData.Name, CreateInstance = context => new CalculationsStateFailureMechanismView(context.WrappedData, context.Parent) }; - yield return new RiskeerViewInfo(() => Gui) + yield return new RiskeerViewInfo(() => Gui) { GetViewName = (view, context) => context.WrappedData.Name, AdditionalDataCheck = context => context.WrappedData.InAssembly, @@ -323,11 +325,11 @@ public override IEnumerable GetTreeNodeInfos() { - yield return RiskeerTreeNodeInfoFactory.CreateFailureMechanismStateContextTreeNodeInfo( + yield return RiskeerTreeNodeInfoFactory.CreateFailureMechanismStateContextTreeNodeInfo( CalculationsChildNodeObjects, CalculationsContextMenuStrip); - yield return RiskeerTreeNodeInfoFactory.CreateFailurePathContextTreeNodeInfo( + yield return RiskeerTreeNodeInfoFactory.CreateFailurePathContextTreeNodeInfo( FailurePathEnabledChildNodeObjects, FailurePathDisabledChildNodeObjects, FailurePathEnabledContextMenuStrip, @@ -494,7 +496,7 @@ .FirstOrDefault(); } - if (dataToCloseFor is MacroStabilityInwardsCalculationsContext failureMechanismContext) + if (dataToCloseFor is CalculationsStateFailureMechanismContext failureMechanismContext) { failureMechanism = failureMechanismContext.WrappedData; } @@ -532,7 +534,7 @@ .FirstOrDefault(); } - if (dataToCloseFor is MacroStabilityInwardsCalculationsContext calculationsContext) + if (dataToCloseFor is CalculationsStateFailureMechanismContext calculationsContext) { failureMechanism = calculationsContext.WrappedData; } @@ -602,7 +604,7 @@ #region MacroStabilityInwardsCalculationsContext TreeNodeInfo - private static object[] CalculationsChildNodeObjects(MacroStabilityInwardsCalculationsContext context) + private static object[] CalculationsChildNodeObjects(CalculationsStateFailureMechanismContext context) { MacroStabilityInwardsFailureMechanism failureMechanism = context.WrappedData; IAssessmentSection assessmentSection = context.Parent; @@ -626,7 +628,7 @@ }; } - private ContextMenuStrip CalculationsContextMenuStrip(MacroStabilityInwardsCalculationsContext context, + private ContextMenuStrip CalculationsContextMenuStrip(CalculationsStateFailureMechanismContext context, object parentData, TreeViewControl treeViewControl) { @@ -650,12 +652,12 @@ .Build(); } - private static void ValidateAllInFailureMechanism(MacroStabilityInwardsCalculationsContext context) + private static void ValidateAllInFailureMechanism(CalculationsStateFailureMechanismContext context) { ValidateAll(context.WrappedData.Calculations.OfType(), context.WrappedData.GeneralInput, context.Parent); } - private void CalculateAllInFailureMechanism(MacroStabilityInwardsCalculationsContext context) + private void CalculateAllInFailureMechanism(CalculationsStateFailureMechanismContext context) { ActivityProgressDialogRunner.Run( Gui.MainWindow, @@ -666,7 +668,7 @@ #region MacroStabilityInwardsFailurePathContext TreeNodeInfo - private static object[] FailurePathEnabledChildNodeObjects(MacroStabilityInwardsFailurePathContext context) + private static object[] FailurePathEnabledChildNodeObjects(RegistrationStateFailureMechanismContext context) { MacroStabilityInwardsFailureMechanism failureMechanism = context.WrappedData; IAssessmentSection assessmentSection = context.Parent; @@ -680,7 +682,7 @@ }; } - private static object[] FailurePathDisabledChildNodeObjects(MacroStabilityInwardsFailurePathContext context) + private static object[] FailurePathDisabledChildNodeObjects(RegistrationStateFailureMechanismContext context) { return new object[] { @@ -708,7 +710,7 @@ }; } - private ContextMenuStrip FailurePathEnabledContextMenuStrip(MacroStabilityInwardsFailurePathContext context, + private ContextMenuStrip FailurePathEnabledContextMenuStrip(RegistrationStateFailureMechanismContext context, object parentData, TreeViewControl treeViewControl) { @@ -725,7 +727,7 @@ .Build(); } - private ContextMenuStrip FailurePathDisabledContextMenuStrip(MacroStabilityInwardsFailurePathContext context, + private ContextMenuStrip FailurePathDisabledContextMenuStrip(RegistrationStateFailureMechanismContext context, object parentData, TreeViewControl treeViewControl) { @@ -740,7 +742,7 @@ .Build(); } - private void RemoveAllViewsForItem(MacroStabilityInwardsFailurePathContext context) + private void RemoveAllViewsForItem(RegistrationStateFailureMechanismContext context) { Gui.ViewCommands.RemoveAllViewsForItem(context); } Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/PresentationObjects/CalculationsState/MacroStabilityInwardsFailureMechanismContextTest.cs =================================================================== diff -u --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/PresentationObjects/CalculationsState/MacroStabilityInwardsFailureMechanismContextTest.cs (revision 0) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/PresentationObjects/CalculationsState/MacroStabilityInwardsFailureMechanismContextTest.cs (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -0,0 +1,54 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using NUnit.Framework; +using Rhino.Mocks; +using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Data; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState; + +namespace Riskeer.MacroStabilityInwards.Forms.Test.PresentationObjects.CalculationsState +{ + [TestFixture] + public class MacroStabilityInwardsFailureMechanismContextTest + { + [Test] + public void Constructor_ExpectedValues() + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + + // Call + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + // Assert + Assert.IsInstanceOf>(context); + Assert.AreSame(assessmentSection, context.Parent); + Assert.AreSame(failureMechanism, context.WrappedData); + mocks.VerifyAll(); + } + } +} \ No newline at end of file Fisheye: Tag c074f244a5a06b97a1d3ade52e1815e174968414 refers to a dead (removed) revision in file `Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/PresentationObjects/MacroStabilityInwardsCalculationsContextTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag c074f244a5a06b97a1d3ade52e1815e174968414 refers to a dead (removed) revision in file `Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/PresentationObjects/MacroStabilityInwardsFailurePathContextTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/PresentationObjects/RegistrationState/MacroStabilityInwardsFailureMechanismContextTest.cs =================================================================== diff -u --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/PresentationObjects/RegistrationState/MacroStabilityInwardsFailureMechanismContextTest.cs (revision 0) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/PresentationObjects/RegistrationState/MacroStabilityInwardsFailureMechanismContextTest.cs (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -0,0 +1,54 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using NUnit.Framework; +using Rhino.Mocks; +using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Data; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState; + +namespace Riskeer.MacroStabilityInwards.Forms.Test.PresentationObjects.RegistrationState +{ + [TestFixture] + public class MacroStabilityInwardsFailureMechanismContextTest + { + [Test] + public void Constructor_ExpectedValues() + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + + // Call + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + // Assert + Assert.IsInstanceOf>(context); + Assert.AreSame(assessmentSection, context.Parent); + Assert.AreSame(failureMechanism, context.WrappedData); + mocks.VerifyAll(); + } + } +} \ No newline at end of file Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/MacroStabilityInwardsPluginTest.cs =================================================================== diff -u -r683f8939ea395ffe9b29a54cc87005244a5af182 -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/MacroStabilityInwardsPluginTest.cs (.../MacroStabilityInwardsPluginTest.cs) (revision 683f8939ea395ffe9b29a54cc87005244a5af182) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/MacroStabilityInwardsPluginTest.cs (.../MacroStabilityInwardsPluginTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -41,6 +41,8 @@ using Riskeer.MacroStabilityInwards.Forms.PropertyClasses; using Riskeer.MacroStabilityInwards.Forms.Views; using Riskeer.MacroStabilityInwards.Primitives; +using CalculationsStateFailureMechanismContext = Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState.MacroStabilityInwardsFailureMechanismContext; +using RegistrationStateFailureMechanismContext = Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState.MacroStabilityInwardsFailureMechanismContext; using CalculationsStateFailureMechanismProperties = Riskeer.MacroStabilityInwards.Forms.PropertyClasses.CalculationsState.MacroStabilityInwardsFailureMechanismProperties; using RegistrationStateFailureMechanismProperties = Riskeer.MacroStabilityInwards.Forms.PropertyClasses.RegistrationState.MacroStabilityInwardsFailureMechanismProperties; using CalculationsStateFailureMechanismView = Riskeer.MacroStabilityInwards.Forms.Views.CalculationsState.MacroStabilityInwardsFailureMechanismView; @@ -76,12 +78,12 @@ PluginTestHelper.AssertPropertyInfoDefined( propertyInfos, - typeof(MacroStabilityInwardsCalculationsContext), + typeof(CalculationsStateFailureMechanismContext), typeof(CalculationsStateFailureMechanismProperties)); PluginTestHelper.AssertPropertyInfoDefined( propertyInfos, - typeof(MacroStabilityInwardsFailurePathContext), + typeof(RegistrationStateFailureMechanismContext), typeof(RegistrationStateFailureMechanismProperties)); PluginTestHelper.AssertPropertyInfoDefined( @@ -137,8 +139,8 @@ // Assert Assert.AreEqual(13, treeNodeInfos.Length); - Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsCalculationsContext))); - Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsFailurePathContext))); + Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(CalculationsStateFailureMechanismContext))); + Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(RegistrationStateFailureMechanismContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsSurfaceLinesContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsSurfaceLine))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsStochasticSoilModelCollectionContext))); @@ -178,12 +180,12 @@ PluginTestHelper.AssertViewInfoDefined( viewInfos, - typeof(MacroStabilityInwardsCalculationsContext), + typeof(CalculationsStateFailureMechanismContext), typeof(CalculationsStateFailureMechanismView)); PluginTestHelper.AssertViewInfoDefined( viewInfos, - typeof(MacroStabilityInwardsFailurePathContext), + typeof(RegistrationStateFailureMechanismContext), typeof(RegistrationStateFailureMechanismView)); PluginTestHelper.AssertViewInfoDefined( Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/PropertyInfos/CalculationsState/MacroStabilityInwardsFailureMechanismPropertyInfoTest.cs =================================================================== diff -u -r28c89f52a156d628eb86a1807d03e6b49de5ba89 -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/PropertyInfos/CalculationsState/MacroStabilityInwardsFailureMechanismPropertyInfoTest.cs (.../MacroStabilityInwardsFailureMechanismPropertyInfoTest.cs) (revision 28c89f52a156d628eb86a1807d03e6b49de5ba89) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/PropertyInfos/CalculationsState/MacroStabilityInwardsFailureMechanismPropertyInfoTest.cs (.../MacroStabilityInwardsFailureMechanismPropertyInfoTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -26,7 +26,7 @@ using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; using Riskeer.MacroStabilityInwards.Data; -using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState; using Riskeer.MacroStabilityInwards.Forms.PropertyClasses.CalculationsState; namespace Riskeer.MacroStabilityInwards.Plugin.Test.PropertyInfos.CalculationsState @@ -54,7 +54,7 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert - Assert.AreEqual(typeof(MacroStabilityInwardsCalculationsContext), info.DataType); + Assert.AreEqual(typeof(MacroStabilityInwardsFailureMechanismContext), info.DataType); Assert.AreEqual(typeof(MacroStabilityInwardsFailureMechanismProperties), info.PropertyObjectType); } @@ -67,7 +67,7 @@ mocks.ReplayAll(); var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var context = new MacroStabilityInwardsCalculationsContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); // Call IObjectProperties objectProperties = info.CreateInstance(context); Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/PropertyInfos/RegistrationState/MacroStabilityInwardsFailureMechanismPropertyInfoTest.cs =================================================================== diff -u -r28c89f52a156d628eb86a1807d03e6b49de5ba89 -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/PropertyInfos/RegistrationState/MacroStabilityInwardsFailureMechanismPropertyInfoTest.cs (.../MacroStabilityInwardsFailureMechanismPropertyInfoTest.cs) (revision 28c89f52a156d628eb86a1807d03e6b49de5ba89) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/PropertyInfos/RegistrationState/MacroStabilityInwardsFailureMechanismPropertyInfoTest.cs (.../MacroStabilityInwardsFailureMechanismPropertyInfoTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -26,7 +26,7 @@ using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; using Riskeer.MacroStabilityInwards.Data; -using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState; using Riskeer.MacroStabilityInwards.Forms.PropertyClasses.RegistrationState; namespace Riskeer.MacroStabilityInwards.Plugin.Test.PropertyInfos.RegistrationState @@ -54,7 +54,7 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert - Assert.AreEqual(typeof(MacroStabilityInwardsFailurePathContext), info.DataType); + Assert.AreEqual(typeof(MacroStabilityInwardsFailureMechanismContext), info.DataType); Assert.AreEqual(typeof(MacroStabilityInwardsFailureMechanismProperties), info.PropertyObjectType); } @@ -67,7 +67,7 @@ mocks.ReplayAll(); var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var context = new MacroStabilityInwardsFailurePathContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); // Call IObjectProperties objectProperties = info.CreateInstance(context); Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/CalculationsState/MacroStabilityInwardsFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/CalculationsState/MacroStabilityInwardsFailureMechanismContextTreeNodeInfoTest.cs (revision 0) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/CalculationsState/MacroStabilityInwardsFailureMechanismContextTreeNodeInfoTest.cs (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -0,0 +1,639 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Drawing; +using System.Linq; +using System.Windows.Forms; +using Core.Common.Base; +using Core.Common.Controls.TreeView; +using Core.Common.TestUtil; +using Core.Gui; +using Core.Gui.Commands; +using Core.Gui.ContextMenu; +using Core.Gui.Forms.Main; +using Core.Gui.TestUtil; +using Core.Gui.TestUtil.ContextMenu; +using NUnit.Extensions.Forms; +using NUnit.Framework; +using Rhino.Mocks; +using Riskeer.Common.Data; +using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Data.Calculation; +using Riskeer.Common.Data.TestUtil; +using Riskeer.Common.Forms.PresentationObjects; +using Riskeer.Common.Service.TestUtil; +using Riskeer.MacroStabilityInwards.Data; +using Riskeer.MacroStabilityInwards.Data.TestUtil; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState; +using Riskeer.MacroStabilityInwards.KernelWrapper.TestUtil.Calculators; +using CoreGuiResources = Core.Gui.Properties.Resources; +using RiskeerCommonFormsResources = Riskeer.Common.Forms.Properties.Resources; + +namespace Riskeer.MacroStabilityInwards.Plugin.Test.TreeNodeInfos.CalculationsState +{ + [TestFixture] + public class MacroStabilityInwardsFailureMechanismContextTreeNodeInfoTest : NUnitFormTest + { + private const int contextMenuValidateAllIndex = 2; + private const int contextMenuCalculateAllIndex = 3; + private const int contextMenuClearIndex = 5; + + private MockRepository mocks; + private MacroStabilityInwardsPlugin plugin; + private TreeNodeInfo info; + + [Test] + public void Initialized_Always_ExpectedPropertiesSet() + { + // Setup + mocks.ReplayAll(); + + // Assert + Assert.IsNotNull(info.Text); + Assert.IsNotNull(info.ForeColor); + Assert.IsNotNull(info.Image); + Assert.IsNotNull(info.ContextMenuStrip); + Assert.IsNull(info.EnsureVisibleOnCreate); + Assert.IsNull(info.ExpandOnCreate); + Assert.IsNotNull(info.ChildNodeObjects); + Assert.IsNull(info.CanRename); + Assert.IsNull(info.OnNodeRenamed); + Assert.IsNull(info.CanRemove); + Assert.IsNull(info.OnNodeRemoved); + Assert.IsNull(info.CanCheck); + Assert.IsNull(info.CheckedState); + Assert.IsNull(info.OnNodeChecked); + Assert.IsNull(info.CanDrag); + Assert.IsNull(info.CanDrop); + Assert.IsNull(info.CanInsert); + Assert.IsNull(info.OnDrop); + } + + [Test] + public void Text_WithContext_ReturnsName() + { + // Setup + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var mechanism = new MacroStabilityInwardsFailureMechanism(); + var context = new MacroStabilityInwardsFailureMechanismContext(mechanism, assessmentSection); + + // Call + string text = info.Text(context); + + // Assert + Assert.AreEqual("Macrostabiliteit binnenwaarts", text); + } + + [Test] + public void Image_Always_ReturnsMacroStabilityInwardsIcon() + { + // Setup + mocks.ReplayAll(); + + // Call + Image image = info.Image(null); + + // Assert + TestHelper.AssertImagesAreEqual(RiskeerCommonFormsResources.FailureMechanismIcon, image); + } + + [Test] + public void ChildNodeObjects_WithContext_ReturnChildDataNodes() + { + // Setup + var assessmentSection = new AssessmentSectionStub(); + + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + failureMechanism.CalculationsGroup.Children.Add(new MacroStabilityInwardsCalculationScenario()); + failureMechanism.CalculationsGroup.Children.Add(new MacroStabilityInwardsCalculationScenario()); + + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + // Call + object[] children = info.ChildNodeObjects(context).ToArray(); + + // Assert + Assert.AreEqual(2, children.Length); + var inputsFolder = (CategoryTreeFolder) children[0]; + Assert.AreEqual("Invoer", inputsFolder.Name); + Assert.AreEqual(TreeFolderCategory.Input, inputsFolder.Category); + + Assert.AreEqual(3, inputsFolder.Contents.Count()); + var surfaceLinesContext = (MacroStabilityInwardsSurfaceLinesContext) inputsFolder.Contents.ElementAt(0); + Assert.AreSame(failureMechanism.SurfaceLines, surfaceLinesContext.WrappedData); + Assert.AreSame(failureMechanism, surfaceLinesContext.FailureMechanism); + Assert.AreSame(assessmentSection, surfaceLinesContext.AssessmentSection); + + var stochasticSoilModelContext = (MacroStabilityInwardsStochasticSoilModelCollectionContext) inputsFolder.Contents.ElementAt(1); + Assert.AreSame(failureMechanism, stochasticSoilModelContext.FailureMechanism); + Assert.AreSame(failureMechanism, stochasticSoilModelContext.FailureMechanism); + Assert.AreSame(assessmentSection, stochasticSoilModelContext.AssessmentSection); + + var calculationsInputComments = (Comment) inputsFolder.Contents.ElementAt(2); + Assert.AreSame(failureMechanism.CalculationsInputComments, calculationsInputComments); + + var calculationsFolder = (MacroStabilityInwardsCalculationGroupContext) children[1]; + Assert.AreSame(failureMechanism.CalculationsGroup, calculationsFolder.WrappedData); + Assert.IsNull(calculationsFolder.Parent); + Assert.AreSame(failureMechanism.SurfaceLines, calculationsFolder.AvailableMacroStabilityInwardsSurfaceLines); + Assert.AreSame(failureMechanism.StochasticSoilModels, calculationsFolder.AvailableStochasticSoilModels); + Assert.AreSame(failureMechanism, calculationsFolder.FailureMechanism); + } + + [Test] + [TestCase(false, TestName = "GivenMultipleCalculations_WhenClearingOutputFromContextMenu_ThenOutputCleared(false)")] + [TestCase(true, TestName = "GivenMultipleCalculations_WhenClearingOutputFromContextMenu_ThenOutputCleared(true)")] + public void GivenMultipleCalculationsWithOutput_WhenClearingOutputFromContextMenu_ThenOutputCleared(bool confirm) + { + // Given + using (var treeViewControl = new TreeViewControl()) + { + var calculation1 = new MacroStabilityInwardsCalculationScenario + { + Output = MacroStabilityInwardsOutputTestFactory.CreateOutput() + }; + var calculation2 = new MacroStabilityInwardsCalculationScenario + { + Output = MacroStabilityInwardsOutputTestFactory.CreateOutput() + }; + + var observer = mocks.StrictMock(); + if (confirm) + { + observer.Expect(o => o.UpdateObserver()).Repeat.Twice(); + } + + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + failureMechanism.CalculationsGroup.Children.Add(calculation1); + failureMechanism.CalculationsGroup.Children.Add(calculation2); + + var assessmentSection = mocks.Stub(); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + + var gui = mocks.Stub(); + gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(menuBuilder); + mocks.ReplayAll(); + + plugin.Gui = gui; + + failureMechanism.CalculationsGroup.Children.Add(calculation1); + failureMechanism.CalculationsGroup.Children.Add(calculation2); + failureMechanism.CalculationsGroup.Children.ElementAt(0).Attach(observer); + failureMechanism.CalculationsGroup.Children.ElementAt(1).Attach(observer); + + string messageBoxTitle = null, messageBoxText = null; + DialogBoxHandler = (name, wnd) => + { + var messageBox = new MessageBoxTester(wnd); + + messageBoxText = messageBox.Text; + messageBoxTitle = messageBox.Title; + + if (confirm) + { + messageBox.ClickOk(); + } + else + { + messageBox.ClickCancel(); + } + }; + + using (ContextMenuStrip contextMenuStrip = info.ContextMenuStrip(context, null, treeViewControl)) + { + // When + contextMenuStrip.Items[contextMenuClearIndex].PerformClick(); + + // Then + foreach (ICalculation calc in failureMechanism.CalculationsGroup.Children.OfType()) + { + Assert.AreNotEqual(confirm, calc.HasOutput); + } + + Assert.AreEqual("Bevestigen", messageBoxTitle); + Assert.AreEqual("Weet u zeker dat u alle uitvoer wilt wissen?", messageBoxText); + } + } + } + + [Test] + public void ContextMenuStrip_HasCalculationWithOutput_ReturnsContextMenuWithCommonItems() + { + // Setup + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + var calculation = new MacroStabilityInwardsCalculationScenario + { + Output = MacroStabilityInwardsOutputTestFactory.CreateOutput() + }; + failureMechanism.CalculationsGroup.Children.Add(calculation); + + var assessmentSection = mocks.Stub(); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + var applicationFeatureCommandHandler = mocks.Stub(); + var importCommandHandler = mocks.Stub(); + var exportCommandHandler = mocks.Stub(); + var updateCommandHandler = mocks.Stub(); + var viewCommandsHandler = mocks.Stub(); + + using (var treeViewControl = new TreeViewControl()) + { + var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, + importCommandHandler, + exportCommandHandler, + updateCommandHandler, + viewCommandsHandler, + context, + treeViewControl); + + var gui = mocks.Stub(); + gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(menuBuilder); + mocks.ReplayAll(); + + plugin.Gui = gui; + + // Call + using (ContextMenuStrip menu = info.ContextMenuStrip(context, null, treeViewControl)) + { + // Assert + Assert.AreEqual(11, menu.Items.Count); + + TestHelper.AssertContextMenuStripContainsItem(menu, + 0, + "&Openen", + "Open de gegevens in een nieuw documentvenster.", + CoreGuiResources.OpenIcon, + false); + TestHelper.AssertContextMenuStripContainsItem(menu, + 2, + "Alles &valideren", + "Valideer alle berekeningen binnen dit faalmechanisme.", + RiskeerCommonFormsResources.ValidateAllIcon); + TestHelper.AssertContextMenuStripContainsItem(menu, + 3, + "Alles be&rekenen", + "Voer alle berekeningen binnen dit faalmechanisme uit.", + RiskeerCommonFormsResources.CalculateAllIcon); + TestHelper.AssertContextMenuStripContainsItem(menu, + 5, + "&Wis alle uitvoer...", + "Wis de uitvoer van alle berekeningen binnen dit faalmechanisme.", + RiskeerCommonFormsResources.ClearIcon); + TestHelper.AssertContextMenuStripContainsItem(menu, + 7, + "Alles i&nklappen", + "Klap dit element en alle onderliggende elementen in.", + CoreGuiResources.CollapseAllIcon, + false); + TestHelper.AssertContextMenuStripContainsItem(menu, + 8, + "Alles ui&tklappen", + "Klap dit element en alle onderliggende elementen uit.", + CoreGuiResources.ExpandAllIcon, + false); + TestHelper.AssertContextMenuStripContainsItem(menu, + 10, + "Ei&genschappen", + "Toon de eigenschappen in het Eigenschappenpaneel.", + CoreGuiResources.PropertiesHS, + false); + + CollectionAssert.AllItemsAreInstancesOfType(new[] + { + menu.Items[1], + menu.Items[4], + menu.Items[6], + menu.Items[9] + }, typeof(ToolStripSeparator)); + } + } + } + + [Test] + public void ContextMenuStrip_MacroStabilityInwardsFailureMechanismNoOutput_ContextMenuItemClearAllOutputDisabled() + { + // Setup + using (var treeViewControl = new TreeViewControl()) + { + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + + var data = new MacroStabilityInwardsFailureMechanism(); + var assessmentSection = mocks.Stub(); + var context = new MacroStabilityInwardsFailureMechanismContext(data, assessmentSection); + + var gui = mocks.Stub(); + gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(menuBuilder); + mocks.ReplayAll(); + + plugin.Gui = gui; + + // Call + using (ContextMenuStrip contextMenu = info.ContextMenuStrip(context, null, treeViewControl)) + { + // Assert + ToolStripItem clearOutputItem = contextMenu.Items[contextMenuClearIndex]; + Assert.IsFalse(clearOutputItem.Enabled); + Assert.AreEqual("Er zijn geen berekeningen met uitvoer om te wissen.", clearOutputItem.ToolTipText); + } + } + } + + [Test] + public void ContextMenuStrip_MacroStabilityInwardsFailureMechanismWithOutput_ContextMenuItemClearAllOutputEnabled() + { + // Setup + using (var treeViewControl = new TreeViewControl()) + { + var calculation = new MacroStabilityInwardsCalculationScenario + { + Output = MacroStabilityInwardsOutputTestFactory.CreateOutput() + }; + + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + failureMechanism.CalculationsGroup.Children.Add(calculation); + + var assessmentSection = mocks.Stub(); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + + var gui = mocks.Stub(); + gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(menuBuilder); + mocks.ReplayAll(); + + plugin.Gui = gui; + + failureMechanism.CalculationsGroup.Children.Add(calculation); + + // Call + using (ContextMenuStrip contextMenu = info.ContextMenuStrip(context, null, treeViewControl)) + { + // Assert + ToolStripItem clearOutputItem = contextMenu.Items[contextMenuClearIndex]; + Assert.IsTrue(clearOutputItem.Enabled); + Assert.AreEqual("Wis de uitvoer van alle berekeningen binnen dit faalmechanisme.", clearOutputItem.ToolTipText); + } + } + } + + [Test] + public void ContextMenuStrip_AllRequiredInputSet_ContextMenuItemCalculateAllAndValidateAllEnabled() + { + // Setup + using (var treeViewControl = new TreeViewControl()) + { + var assessmentSection = new AssessmentSectionStub(); + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + + assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] + { + hydraulicBoundaryLocation + }, true); + + var failureMechanism = new MacroStabilityInwardsFailureMechanism + { + CalculationsGroup = + { + Children = + { + MacroStabilityInwardsCalculationScenarioTestFactory.CreateMacroStabilityInwardsCalculationScenarioWithValidInput(hydraulicBoundaryLocation) + } + } + }; + + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + + var gui = mocks.Stub(); + gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(menuBuilder); + mocks.ReplayAll(); + + plugin.Gui = gui; + + // Call + using (ContextMenuStrip contextMenu = info.ContextMenuStrip(context, null, treeViewControl)) + { + // Assert + TestHelper.AssertContextMenuStripContainsItem(contextMenu, contextMenuCalculateAllIndex, + "Alles be&rekenen", + "Voer alle berekeningen binnen dit faalmechanisme uit.", + RiskeerCommonFormsResources.CalculateAllIcon); + + TestHelper.AssertContextMenuStripContainsItem(contextMenu, contextMenuValidateAllIndex, + "Alles &valideren", + "Valideer alle berekeningen binnen dit faalmechanisme.", + RiskeerCommonFormsResources.ValidateAllIcon); + } + } + } + + [Test] + public void ContextMenuStrip_WithContext_CallsContextMenuBuilderMethods() + { + // Setup + using (var treeViewControl = new TreeViewControl()) + { + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + var assessmentSection = mocks.Stub(); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + var menuBuilder = mocks.StrictMock(); + using (mocks.Ordered()) + { + menuBuilder.Expect(mb => mb.AddOpenItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddCollapseAllItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddExpandAllItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.Build()).Return(null); + } + + var gui = mocks.Stub(); + gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(menuBuilder); + mocks.ReplayAll(); + + plugin.Gui = gui; + + // Call + info.ContextMenuStrip(context, null, treeViewControl); + } + + // Assert + // Assert expectancies are called in TearDown() + } + + [Test] + public void ContextMenuStrip_ClickOnValidateAllItem_ValidateAllChildCalculations() + { + // Setup + using (var treeViewControl = new TreeViewControl()) + { + var assessmentSection = new AssessmentSectionStub(); + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + + assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] + { + hydraulicBoundaryLocation + }, true); + + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + MacroStabilityInwardsCalculationScenario validCalculation = MacroStabilityInwardsCalculationScenarioTestFactory.CreateMacroStabilityInwardsCalculationScenarioWithValidInput(hydraulicBoundaryLocation); + validCalculation.Name = "A"; + MacroStabilityInwardsCalculationScenario invalidCalculation = MacroStabilityInwardsCalculationScenarioTestFactory.CreateMacroStabilityInwardsCalculationScenarioWithInvalidInput(); + invalidCalculation.Name = "B"; + + failureMechanism.CalculationsGroup.Children.Add(validCalculation); + failureMechanism.CalculationsGroup.Children.Add(invalidCalculation); + + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + + var gui = mocks.Stub(); + gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); + mocks.ReplayAll(); + + plugin.Gui = gui; + + using (ContextMenuStrip contextMenu = info.ContextMenuStrip(context, null, treeViewControl)) + using (new MacroStabilityInwardsCalculatorFactoryConfig()) + { + // Call + void Call() => contextMenu.Items[contextMenuValidateAllIndex].PerformClick(); + + // Assert + TestHelper.AssertLogMessages(Call, messages => + { + string[] msgs = messages.ToArray(); + Assert.AreEqual(9, msgs.Length); + CalculationServiceTestHelper.AssertValidationStartMessage(msgs[0]); + Assert.AreEqual("Validatie van waterspanningen in extreme omstandigheden is gestart.", msgs[1]); + Assert.AreEqual("Validatie van waterspanningen in dagelijkse omstandigheden is gestart.", msgs[2]); + CalculationServiceTestHelper.AssertValidationEndMessage(msgs[3]); + CalculationServiceTestHelper.AssertValidationStartMessage(msgs[4]); + CalculationServiceTestHelper.AssertValidationEndMessage(msgs[8]); + }); + } + } + } + + [Test] + public void ContextMenuStrip_ClickOnCalculateAllItem_ScheduleAllChildCalculations() + { + // Setup + using (var treeViewControl = new TreeViewControl()) + { + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + var assessmentSection = new AssessmentSectionStub(); + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + + assessmentSection.SetHydraulicBoundaryLocationCalculations(new[] + { + hydraulicBoundaryLocation + }, true); + + MacroStabilityInwardsCalculationScenario calculationA = MacroStabilityInwardsCalculationScenarioTestFactory.CreateMacroStabilityInwardsCalculationScenarioWithValidInput(hydraulicBoundaryLocation); + calculationA.Name = "A"; + MacroStabilityInwardsCalculationScenario calculationB = MacroStabilityInwardsCalculationScenarioTestFactory.CreateMacroStabilityInwardsCalculationScenarioWithValidInput(hydraulicBoundaryLocation); + calculationB.Name = "B"; + + failureMechanism.CalculationsGroup.Children.Add(calculationA); + failureMechanism.CalculationsGroup.Children.Add(calculationB); + + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + + IMainWindow mainWindow = MainWindowTestHelper.CreateMainWindowStub(mocks); + + var gui = mocks.Stub(); + gui.Stub(g => g.MainWindow).Return(mainWindow); + gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); + mocks.ReplayAll(); + + plugin.Gui = gui; + + DialogBoxHandler = (name, wnd) => + { + // Expect an activity dialog which is automatically closed + }; + + using (new MacroStabilityInwardsCalculatorFactoryConfig()) + using (ContextMenuStrip contextMenu = info.ContextMenuStrip(context, null, treeViewControl)) + { + // Call + void Call() => contextMenu.Items[contextMenuCalculateAllIndex].PerformClick(); + + // Assert + TestHelper.AssertLogMessages(Call, messages => + { + string[] msgs = messages.ToArray(); + Assert.AreEqual(16, msgs.Length); + Assert.AreEqual("Uitvoeren van berekening 'A' is gestart.", msgs[0]); + CalculationServiceTestHelper.AssertValidationStartMessage(msgs[1]); + Assert.AreEqual("Validatie van waterspanningen in extreme omstandigheden is gestart.", msgs[2]); + Assert.AreEqual("Validatie van waterspanningen in dagelijkse omstandigheden is gestart.", msgs[3]); + CalculationServiceTestHelper.AssertValidationEndMessage(msgs[4]); + CalculationServiceTestHelper.AssertCalculationStartMessage(msgs[5]); + CalculationServiceTestHelper.AssertCalculationEndMessage(msgs[6]); + Assert.AreEqual("Uitvoeren van berekening 'A' is gelukt.", msgs[7]); + + Assert.AreEqual("Uitvoeren van berekening 'B' is gestart.", msgs[8]); + CalculationServiceTestHelper.AssertValidationStartMessage(msgs[9]); + Assert.AreEqual("Validatie van waterspanningen in extreme omstandigheden is gestart.", msgs[10]); + Assert.AreEqual("Validatie van waterspanningen in dagelijkse omstandigheden is gestart.", msgs[11]); + CalculationServiceTestHelper.AssertValidationEndMessage(msgs[12]); + CalculationServiceTestHelper.AssertCalculationStartMessage(msgs[13]); + CalculationServiceTestHelper.AssertCalculationEndMessage(msgs[14]); + Assert.AreEqual("Uitvoeren van berekening 'B' is gelukt.", msgs[15]); + }); + } + } + } + + public override void Setup() + { + mocks = new MockRepository(); + plugin = new MacroStabilityInwardsPlugin(); + info = plugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(MacroStabilityInwardsFailureMechanismContext)); + } + + public override void TearDown() + { + plugin.Dispose(); + mocks.VerifyAll(); + + base.TearDown(); + } + } +} \ No newline at end of file Fisheye: Tag c074f244a5a06b97a1d3ade52e1815e174968414 refers to a dead (removed) revision in file `Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/MacroStabilityInwardsCalculationsContextTreeNodeInfoTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag c074f244a5a06b97a1d3ade52e1815e174968414 refers to a dead (removed) revision in file `Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/MacroStabilityInwardsFailurePathContextTreeNodeInfoTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/RegistrationState/MacroStabilityInwardsFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/RegistrationState/MacroStabilityInwardsFailureMechanismContextTreeNodeInfoTest.cs (revision 0) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/RegistrationState/MacroStabilityInwardsFailureMechanismContextTreeNodeInfoTest.cs (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -0,0 +1,277 @@ +// Copyright (C) Stichting Deltares 2021. All rights reserved. +// +// This file is part of Riskeer. +// +// Riskeer is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Drawing; +using System.Linq; +using Core.Common.Controls.TreeView; +using Core.Common.TestUtil; +using Core.Gui; +using Core.Gui.ContextMenu; +using NUnit.Framework; +using Rhino.Mocks; +using Riskeer.Common.Data; +using Riskeer.Common.Data.AssessmentSection; +using Riskeer.Common.Data.TestUtil; +using Riskeer.Common.Forms.PresentationObjects; +using Riskeer.Common.Plugin.TestUtil; +using Riskeer.MacroStabilityInwards.Data; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState; +using RiskeerCommonFormsResources = Riskeer.Common.Forms.Properties.Resources; + +namespace Riskeer.MacroStabilityInwards.Plugin.Test.TreeNodeInfos.RegistrationState +{ + [TestFixture] + public class MacroStabilityInwardsFailureMechanismContextTreeNodeInfoTest + { + private MacroStabilityInwardsPlugin plugin; + private TreeNodeInfo info; + + [SetUp] + public void Setup() + { + plugin = new MacroStabilityInwardsPlugin(); + info = plugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(MacroStabilityInwardsFailureMechanismContext)); + } + + [TearDown] + public void TearDown() + { + plugin.Dispose(); + } + + [Test] + public void Initialized_Always_ExpectedPropertiesSet() + { + // Assert + Assert.IsNotNull(info.Text); + Assert.IsNotNull(info.ForeColor); + Assert.IsNotNull(info.Image); + Assert.IsNotNull(info.ContextMenuStrip); + Assert.IsNull(info.EnsureVisibleOnCreate); + Assert.IsNull(info.ExpandOnCreate); + Assert.IsNotNull(info.ChildNodeObjects); + Assert.IsNull(info.CanRename); + Assert.IsNull(info.OnNodeRenamed); + Assert.IsNull(info.CanRemove); + Assert.IsNull(info.OnNodeRemoved); + Assert.IsNull(info.CanCheck); + Assert.IsNull(info.CheckedState); + Assert.IsNull(info.OnNodeChecked); + Assert.IsNull(info.CanDrag); + Assert.IsNull(info.CanDrop); + Assert.IsNull(info.CanInsert); + Assert.IsNull(info.OnDrop); + } + + [Test] + public void Text_WithContext_ReturnsName() + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var context = new MacroStabilityInwardsFailureMechanismContext(new MacroStabilityInwardsFailureMechanism(), assessmentSection); + + // Call + string text = info.Text(context); + + // Assert + Assert.AreEqual("Macrostabiliteit binnenwaarts", text); + mocks.VerifyAll(); + } + + [Test] + public void Image_Always_ReturnsFailureMechanismIcon() + { + // Call + Image image = info.Image(null); + + // Assert + TestHelper.AssertImagesAreEqual(RiskeerCommonFormsResources.FailureMechanismIcon, image); + } + + [Test] + public void ChildNodeObjects_FailureMechanismInAssemblyTrue_ReturnChildDataNodes() + { + // Setup + var assessmentSection = new AssessmentSectionStub(); + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + // Call + object[] children = info.ChildNodeObjects(context).ToArray(); + + // Assert + Assert.AreEqual(2, children.Length); + var inputsFolder = (CategoryTreeFolder) children[0]; + Assert.AreEqual("Invoer", inputsFolder.Name); + Assert.AreEqual(TreeFolderCategory.Input, inputsFolder.Category); + + Assert.AreEqual(2, inputsFolder.Contents.Count()); + var failureMechanismSectionsContext = (FailureMechanismSectionsContext) inputsFolder.Contents.ElementAt(0); + Assert.AreSame(failureMechanism, failureMechanismSectionsContext.WrappedData); + Assert.AreSame(assessmentSection, failureMechanismSectionsContext.AssessmentSection); + + var inAssemblyInputComments = (Comment) inputsFolder.Contents.ElementAt(1); + Assert.AreSame(failureMechanism.InAssemblyInputComments, inAssemblyInputComments); + + var outputsFolder = (CategoryTreeFolder) children[1]; + Assert.AreEqual("Oordeel", outputsFolder.Name); + Assert.AreEqual(TreeFolderCategory.Output, outputsFolder.Category); + + Assert.AreEqual(3, outputsFolder.Contents.Count()); + + var failureMechanismScenariosContext = (MacroStabilityInwardsScenariosContext) outputsFolder.Contents.ElementAt(0); + Assert.AreSame(failureMechanism, failureMechanismScenariosContext.FailureMechanism); + Assert.AreSame(failureMechanism.CalculationsGroup, failureMechanismScenariosContext.WrappedData); + + var failureMechanismResultsContext = (MacroStabilityInwardsFailureMechanismSectionResultContext) outputsFolder.Contents.ElementAt(1); + Assert.AreSame(failureMechanism, failureMechanismResultsContext.FailureMechanism); + Assert.AreSame(failureMechanism.SectionResults, failureMechanismResultsContext.WrappedData); + Assert.AreSame(assessmentSection, failureMechanismResultsContext.AssessmentSection); + + var inAssemblyOutputComments = (Comment) outputsFolder.Contents.ElementAt(2); + Assert.AreSame(failureMechanism.InAssemblyOutputComments, inAssemblyOutputComments); + } + + [Test] + public void ChildNodeObjects_FailureMechanismInAssemblyFalse_ReturnChildDataNodes() + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new MacroStabilityInwardsFailureMechanism + { + InAssembly = false + }; + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + // Call + object[] children = info.ChildNodeObjects(context).ToArray(); + + // Assert + Assert.AreEqual(1, children.Length); + + var comment = (Comment) children[0]; + Assert.AreSame(failureMechanism.NotInAssemblyComments, comment); + + mocks.VerifyAll(); + } + + [Test] + public void ContextMenuStrip_FailureMechanismInAssemblyTrue_CallsContextMenuBuilderMethods() + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + + using (var treeViewControl = new TreeViewControl()) + { + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + var menuBuilder = mocks.StrictMock(); + using (mocks.Ordered()) + { + menuBuilder.Expect(mb => mb.AddOpenItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddCollapseAllItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddExpandAllItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.Build()).Return(null); + } + + var gui = mocks.Stub(); + gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(menuBuilder); + mocks.ReplayAll(); + + plugin.Gui = gui; + + // Call + info.ContextMenuStrip(context, null, treeViewControl); + } + + // Assert + mocks.VerifyAll(); + } + + [Test] + public void ContextMenuStrip_FailureMechanismInAssemblyFalse_CallsContextMenuBuilderMethods() + { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + + using (var treeViewControl = new TreeViewControl()) + { + var failureMechanism = new MacroStabilityInwardsFailureMechanism + { + InAssembly = false + }; + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + var menuBuilder = mocks.StrictMock(); + using (mocks.Ordered()) + { + menuBuilder.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddCollapseAllItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddExpandAllItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.Build()).Return(null); + } + + var gui = mocks.Stub(); + gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(menuBuilder); + mocks.ReplayAll(); + + plugin.Gui = gui; + + // Call + info.ContextMenuStrip(context, null, treeViewControl); + } + + // Assert + mocks.VerifyAll(); + } + + [TestFixture] + public class MacroStabilityInwardsFailurePathContextInAssemblyTreeNodeInfoTest : + FailurePathInAssemblyTreeNodeInfoTestFixtureBase + { + public MacroStabilityInwardsFailurePathContextInAssemblyTreeNodeInfoTest() : base(2, 0) {} + + protected override MacroStabilityInwardsFailureMechanismContext CreateFailureMechanismContext(MacroStabilityInwardsFailureMechanism failureMechanism, + IAssessmentSection assessmentSection) + { + return new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); + } + } + } +} \ No newline at end of file Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/CalculationsState/MacroStabilityInwardsFailureMechanismViewInfoTest.cs =================================================================== diff -u -r683f8939ea395ffe9b29a54cc87005244a5af182 -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/CalculationsState/MacroStabilityInwardsFailureMechanismViewInfoTest.cs (.../MacroStabilityInwardsFailureMechanismViewInfoTest.cs) (revision 683f8939ea395ffe9b29a54cc87005244a5af182) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/CalculationsState/MacroStabilityInwardsFailureMechanismViewInfoTest.cs (.../MacroStabilityInwardsFailureMechanismViewInfoTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -26,7 +26,7 @@ using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.TestUtil; using Riskeer.MacroStabilityInwards.Data; -using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState; using Riskeer.MacroStabilityInwards.Forms.Views.CalculationsState; namespace Riskeer.MacroStabilityInwards.Plugin.Test.ViewInfos.CalculationsState @@ -56,8 +56,8 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert - Assert.AreEqual(typeof(MacroStabilityInwardsCalculationsContext), info.DataType); - Assert.AreEqual(typeof(MacroStabilityInwardsCalculationsContext), info.ViewDataType); + Assert.AreEqual(typeof(MacroStabilityInwardsFailureMechanismContext), info.DataType); + Assert.AreEqual(typeof(MacroStabilityInwardsFailureMechanismContext), info.ViewDataType); } [Test] @@ -68,7 +68,7 @@ mocks.ReplayAll(); var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var context = new MacroStabilityInwardsCalculationsContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); // Call string viewName = info.GetViewName(null, context); @@ -84,7 +84,7 @@ var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var context = new MacroStabilityInwardsCalculationsContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); // Call var view = (MacroStabilityInwardsFailureMechanismView) info.CreateInstance(context); Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsCalculationsViewInfoTest.cs =================================================================== diff -u -r013435ed49ecc69ce2a584e37c9d0d7039fa6a7b -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsCalculationsViewInfoTest.cs (.../MacroStabilityInwardsCalculationsViewInfoTest.cs) (revision 013435ed49ecc69ce2a584e37c9d0d7039fa6a7b) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsCalculationsViewInfoTest.cs (.../MacroStabilityInwardsCalculationsViewInfoTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -29,6 +29,7 @@ using Riskeer.MacroStabilityInwards.Data; using Riskeer.MacroStabilityInwards.Data.SoilProfile; using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState; using Riskeer.MacroStabilityInwards.Forms.Views; using Riskeer.MacroStabilityInwards.Primitives; @@ -232,7 +233,7 @@ using (var view = new MacroStabilityInwardsCalculationsView(new CalculationGroup(), new MacroStabilityInwardsFailureMechanism(), assessmentSection)) { - var context = new MacroStabilityInwardsCalculationsContext(new MacroStabilityInwardsFailureMechanism(), assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(new MacroStabilityInwardsFailureMechanism(), assessmentSection); // Call bool closeForData = info.CloseForData(view, context); @@ -256,7 +257,7 @@ var failureMechanism = new MacroStabilityInwardsFailureMechanism(); using (var view = new MacroStabilityInwardsCalculationsView(failureMechanism.CalculationsGroup, failureMechanism, assessmentSection)) { - var context = new MacroStabilityInwardsCalculationsContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); // Call bool closeForData = info.CloseForData(view, context); Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsFailureMechanismResultViewInfoTest.cs =================================================================== diff -u -rc5219e29c90757003a649a2b39d0e18fcbad1782 -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsFailureMechanismResultViewInfoTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewInfoTest.cs) (revision c5219e29c90757003a649a2b39d0e18fcbad1782) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsFailureMechanismResultViewInfoTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewInfoTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -30,6 +30,7 @@ using Riskeer.Common.Data.TestUtil; using Riskeer.MacroStabilityInwards.Data; using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState; using Riskeer.MacroStabilityInwards.Forms.Views; namespace Riskeer.MacroStabilityInwards.Plugin.Test.ViewInfos @@ -218,7 +219,7 @@ mocks.ReplayAll(); var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var context = new MacroStabilityInwardsFailurePathContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); using (var view = new MacroStabilityInwardsFailureMechanismResultView(failureMechanism.SectionResults, failureMechanism, assessmentSection)) { @@ -243,7 +244,7 @@ using (var view = new MacroStabilityInwardsFailureMechanismResultView(failureMechanism.SectionResults, failureMechanism, assessmentSection)) { - var context = new MacroStabilityInwardsFailurePathContext( + var context = new MacroStabilityInwardsFailureMechanismContext( new MacroStabilityInwardsFailureMechanism(), assessmentSection); Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsInputViewInfoTest.cs =================================================================== diff -u -rdbe0316b596d72e1d037cb905ed7d3379d747e0e -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsInputViewInfoTest.cs (.../MacroStabilityInwardsInputViewInfoTest.cs) (revision dbe0316b596d72e1d037cb905ed7d3379d747e0e) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsInputViewInfoTest.cs (.../MacroStabilityInwardsInputViewInfoTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -31,6 +31,7 @@ using Riskeer.MacroStabilityInwards.Data; using Riskeer.MacroStabilityInwards.Data.SoilProfile; using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.CalculationsState; using Riskeer.MacroStabilityInwards.Forms.Views; using Riskeer.MacroStabilityInwards.Primitives; @@ -324,7 +325,7 @@ var failureMechanism = new MacroStabilityInwardsFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(calculation); - var context = new MacroStabilityInwardsCalculationsContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); using (var view = new MacroStabilityInwardsInputView(calculation, new GeneralMacroStabilityInwardsInput(), @@ -351,7 +352,7 @@ var failureMechanism = new MacroStabilityInwardsFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(calculation); - var context = new MacroStabilityInwardsCalculationsContext(new MacroStabilityInwardsFailureMechanism(), assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(new MacroStabilityInwardsFailureMechanism(), assessmentSection); using (var view = new MacroStabilityInwardsInputView(calculation, new GeneralMacroStabilityInwardsInput(), @@ -381,7 +382,7 @@ var failureMechanism = new MacroStabilityInwardsFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(calculationGroup); - var context = new MacroStabilityInwardsCalculationsContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); using (var view = new MacroStabilityInwardsInputView(calculation, new GeneralMacroStabilityInwardsInput(), @@ -411,7 +412,7 @@ var failureMechanism = new MacroStabilityInwardsFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(calculationGroup); - var context = new MacroStabilityInwardsCalculationsContext(new MacroStabilityInwardsFailureMechanism(), assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(new MacroStabilityInwardsFailureMechanism(), assessmentSection); using (var view = new MacroStabilityInwardsInputView(calculation, new GeneralMacroStabilityInwardsInput(), Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsScenariosViewInfoTest.cs =================================================================== diff -u -rc5219e29c90757003a649a2b39d0e18fcbad1782 -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsScenariosViewInfoTest.cs (.../MacroStabilityInwardsScenariosViewInfoTest.cs) (revision c5219e29c90757003a649a2b39d0e18fcbad1782) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsScenariosViewInfoTest.cs (.../MacroStabilityInwardsScenariosViewInfoTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -29,6 +29,7 @@ using Riskeer.Common.Data.FailureMechanism; using Riskeer.MacroStabilityInwards.Data; using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState; using Riskeer.MacroStabilityInwards.Forms.Views; namespace Riskeer.MacroStabilityInwards.Plugin.Test.ViewInfos @@ -202,7 +203,7 @@ mocks.ReplayAll(); var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var context = new MacroStabilityInwardsFailurePathContext(new MacroStabilityInwardsFailureMechanism(), assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(new MacroStabilityInwardsFailureMechanism(), assessmentSection); using (var view = new MacroStabilityInwardsScenariosView(failureMechanism.CalculationsGroup, failureMechanism)) { @@ -225,7 +226,7 @@ mocks.ReplayAll(); var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var context = new MacroStabilityInwardsFailurePathContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); using (var view = new MacroStabilityInwardsScenariosView(failureMechanism.CalculationsGroup, failureMechanism)) { Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/RegistrationState/MacroStabilityInwardsFailureMechanismViewInfoTest.cs =================================================================== diff -u -r683f8939ea395ffe9b29a54cc87005244a5af182 -rc074f244a5a06b97a1d3ade52e1815e174968414 --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/RegistrationState/MacroStabilityInwardsFailureMechanismViewInfoTest.cs (.../MacroStabilityInwardsFailureMechanismViewInfoTest.cs) (revision 683f8939ea395ffe9b29a54cc87005244a5af182) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Plugin.Test/ViewInfos/RegistrationState/MacroStabilityInwardsFailureMechanismViewInfoTest.cs (.../MacroStabilityInwardsFailureMechanismViewInfoTest.cs) (revision c074f244a5a06b97a1d3ade52e1815e174968414) @@ -26,7 +26,7 @@ using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.TestUtil; using Riskeer.MacroStabilityInwards.Data; -using Riskeer.MacroStabilityInwards.Forms.PresentationObjects; +using Riskeer.MacroStabilityInwards.Forms.PresentationObjects.RegistrationState; using Riskeer.MacroStabilityInwards.Forms.Views.RegistrationState; namespace Riskeer.MacroStabilityInwards.Plugin.Test.ViewInfos.RegistrationState @@ -56,8 +56,8 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert - Assert.AreEqual(typeof(MacroStabilityInwardsFailurePathContext), info.DataType); - Assert.AreEqual(typeof(MacroStabilityInwardsFailurePathContext), info.ViewDataType); + Assert.AreEqual(typeof(MacroStabilityInwardsFailureMechanismContext), info.DataType); + Assert.AreEqual(typeof(MacroStabilityInwardsFailureMechanismContext), info.ViewDataType); } [Test] @@ -68,7 +68,7 @@ mocks.ReplayAll(); var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var context = new MacroStabilityInwardsFailurePathContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); // Call string viewName = info.GetViewName(null, context); @@ -91,7 +91,7 @@ InAssembly = inAssembly }; - var context = new MacroStabilityInwardsFailurePathContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); // Call bool result = info.AdditionalDataCheck(context); @@ -108,7 +108,7 @@ var assessmentSection = new AssessmentSectionStub(); var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - var context = new MacroStabilityInwardsFailurePathContext(failureMechanism, assessmentSection); + var context = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection); // Call var view = (MacroStabilityInwardsFailureMechanismView) info.CreateInstance(context);