Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsCalculationScenario.cs
===================================================================
diff -u -rd619624819b7200ac55b357b0a0c54d198fc20e4 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsCalculationScenario.cs (.../MacroStabilityInwardsCalculationScenario.cs) (revision d619624819b7200ac55b357b0a0c54d198fc20e4)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsCalculationScenario.cs (.../MacroStabilityInwardsCalculationScenario.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -55,30 +55,12 @@
}
}
- public double Probability
- {
- get
- {
- if (Status != CalculationScenarioStatus.Done)
- {
- throw new InvalidOperationException("The probability can only be accessed when the status is done.");
- }
-
- return SemiProbabilisticOutput.MacroStabilityInwardsProbability;
- }
- }
-
public CalculationScenarioStatus Status
{
get
{
- if (Output == null)
- {
- return CalculationScenarioStatus.NotCalculated;
- }
-
- return SemiProbabilisticOutput == null || double.IsNaN(SemiProbabilisticOutput.MacroStabilityInwardsProbability)
- ? CalculationScenarioStatus.Failed
+ return Output == null
+ ? CalculationScenarioStatus.NotCalculated
: CalculationScenarioStatus.Done;
}
}
Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensions.cs
===================================================================
diff -u -rffba5900acc192187346a9ad73acea5e8b9d0bf5 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensions.cs (.../MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensions.cs) (revision ffba5900acc192187346a9ad73acea5e8b9d0bf5)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensions.cs (.../MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensions.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -25,6 +25,7 @@
using System.Linq;
using Core.Common.Base.Data;
using Core.Common.Base.Geometry;
+using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Calculation;
namespace Ringtoets.MacroStabilityInwards.Data
@@ -37,19 +38,59 @@
///
/// Gets the value for the detailed assessment of safety per failure mechanism section as a probability.
///
- /// The result to get the result for.
+ /// The section result to get the assessment layer 2A for.
/// All calculations in the failure mechanism.
- public static double GetAssessmentLayerTwoA(this MacroStabilityInwardsFailureMechanismSectionResult macroStabilityInwardsFailureMechanismSectionResult,
- IEnumerable calculations)
+ /// The failure mechanism the calculations belong to.
+ /// The assessment section the calculations belong to.
+ /// The calculated assessment layer 2A; or when there are no
+ /// performed calculations.
+ /// Thrown when any parameter is null.
+ public static double GetAssessmentLayerTwoA(this MacroStabilityInwardsFailureMechanismSectionResult sectionResult,
+ IEnumerable calculations,
+ MacroStabilityInwardsFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
{
- List calculationScenarios = macroStabilityInwardsFailureMechanismSectionResult
+ if (sectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(sectionResult));
+ }
+
+ if (calculations == null)
+ {
+ throw new ArgumentNullException(nameof(calculations));
+ }
+
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ List calculationScenarios = sectionResult
.GetCalculationScenarios(calculations)
.Where(cs => cs.Status == CalculationScenarioStatus.Done)
.ToList();
- return calculationScenarios.Any()
- ? calculationScenarios.Sum(scenario => scenario.Probability * scenario.Contribution.Value)
- : double.NaN;
+ if (calculationScenarios.Any())
+ {
+ double totalAssessmentLayerTwoA = 0;
+ foreach (MacroStabilityInwardsCalculationScenario scenario in calculationScenarios)
+ {
+ var derivedOutput = DerivedMacroStabilityInwardsOutputFactory.Create(scenario.Output,
+ failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput,
+ assessmentSection.FailureMechanismContribution.Norm,
+ failureMechanism.Contribution);
+
+ totalAssessmentLayerTwoA += derivedOutput.MacroStabilityInwardsProbability * (double) scenario.Contribution;
+ }
+ return totalAssessmentLayerTwoA;
+ }
+
+ return double.NaN;
}
///
Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismResultView.cs
===================================================================
diff -u -r42b0a40e019f6b36f83495fc46b13bac5971292f -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismResultView.cs (.../MacroStabilityInwardsFailureMechanismResultView.cs) (revision 42b0a40e019f6b36f83495fc46b13bac5971292f)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismResultView.cs (.../MacroStabilityInwardsFailureMechanismResultView.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -23,6 +23,7 @@
using System.Linq;
using System.Windows.Forms;
using Core.Common.Base;
+using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Calculation;
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Forms.Views;
@@ -41,12 +42,23 @@
private readonly RecursiveObserver calculationInputObserver;
private readonly RecursiveObserver calculationOutputObserver;
private readonly RecursiveObserver calculationGroupObserver;
+ private readonly IAssessmentSection assessmentSection;
///
/// Creates a new instance of .
///
- public MacroStabilityInwardsFailureMechanismResultView()
+ /// The assessment section that the failure mechanism belongs to.
+ /// Thrown when
+ /// is null.
+ public MacroStabilityInwardsFailureMechanismResultView(IAssessmentSection assessmentSection)
{
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ this.assessmentSection = assessmentSection;
+
DataGridViewControl.CellFormatting += ShowAssessmentLayerTwoAErrors;
DataGridViewControl.CellFormatting += DisableIrrelevantFieldsFormatting;
@@ -99,7 +111,10 @@
{
return null;
}
- return new MacroStabilityInwardsFailureMechanismSectionResultRow(sectionResult, FailureMechanism.Calculations.OfType());
+
+ return new MacroStabilityInwardsFailureMechanismSectionResultRow(sectionResult,
+ FailureMechanism.Calculations.OfType(),
+ (MacroStabilityInwardsFailureMechanism) FailureMechanism, assessmentSection);
}
protected override void AddDataGridColumns()
@@ -170,7 +185,7 @@
currentDataGridViewCell.ErrorText = RingtoetsCommonFormsResources.FailureMechanismResultView_DataGridViewCellFormatting_Not_all_calculations_have_been_executed;
return;
}
- if (calculationScenarioStatus == CalculationScenarioStatus.Failed)
+ if (double.IsNaN(resultRow.AssessmentLayerTwoA))
{
currentDataGridViewCell.ErrorText = RingtoetsCommonFormsResources.FailureMechanismResultView_DataGridViewCellFormatting_All_calculations_must_have_valid_output;
return;
Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismSectionResultRow.cs
===================================================================
diff -u -rad12f4e2c4a765cc6c20e9f17ac051a99644ec44 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismSectionResultRow.cs (.../MacroStabilityInwardsFailureMechanismSectionResultRow.cs) (revision ad12f4e2c4a765cc6c20e9f17ac051a99644ec44)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsFailureMechanismSectionResultRow.cs (.../MacroStabilityInwardsFailureMechanismSectionResultRow.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -23,6 +23,7 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
+using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Calculation;
using Ringtoets.Common.Forms.TypeConverters;
using Ringtoets.Common.Forms.Views;
@@ -38,21 +39,42 @@
{
private const double tolerance = 1e-6;
private readonly IEnumerable calculations;
+ private readonly MacroStabilityInwardsFailureMechanism failureMechanism;
+ private readonly IAssessmentSection assessmentSection;
///
/// Creates a new instance of .
///
/// The that is
/// the source of this row.
- ///
+ /// All calculations in the failure mechanism.
+ /// The failure mechanism the section result belongs to.
+ /// The assessment section the section result belongs to.
/// Throw when any parameter is null.
- public MacroStabilityInwardsFailureMechanismSectionResultRow(MacroStabilityInwardsFailureMechanismSectionResult sectionResult, IEnumerable calculations) : base(sectionResult)
+ public MacroStabilityInwardsFailureMechanismSectionResultRow(MacroStabilityInwardsFailureMechanismSectionResult sectionResult,
+ IEnumerable calculations,
+ MacroStabilityInwardsFailureMechanism failureMechanism,
+ IAssessmentSection assessmentSection)
+ : base(sectionResult)
{
if (calculations == null)
{
throw new ArgumentNullException(nameof(calculations));
}
+
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
this.calculations = calculations;
+ this.failureMechanism = failureMechanism;
+ this.assessmentSection = assessmentSection;
}
///
@@ -94,7 +116,7 @@
return double.NaN;
}
- return SectionResult.GetAssessmentLayerTwoA(relevantScenarios);
+ return SectionResult.GetAssessmentLayerTwoA(relevantScenarios, failureMechanism, assessmentSection);
}
}
Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs
===================================================================
diff -u -r5a67fdd92b4e69e1fde669dd27605d0eeaad734b -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs (.../MacroStabilityInwardsPlugin.cs) (revision 5a67fdd92b4e69e1fde669dd27605d0eeaad734b)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/MacroStabilityInwardsPlugin.cs (.../MacroStabilityInwardsPlugin.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -211,15 +211,16 @@
};
yield return new ViewInfo<
- FailureMechanismSectionResultContext,
+ MacroStabilityInwardsFailureMechanismSectionResultContext,
IEnumerable,
MacroStabilityInwardsFailureMechanismResultView>
{
GetViewName = (view, results) => RingtoetsCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName,
Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon,
CloseForData = CloseFailureMechanismResultViewForData,
GetViewData = context => context.WrappedData,
- AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism
+ AfterCreate = (view, context) => view.FailureMechanism = context.FailureMechanism,
+ CreateInstance = context => new MacroStabilityInwardsFailureMechanismResultView(context.AssessmentSection)
};
yield return new ViewInfo
@@ -282,7 +283,7 @@
CalculationGroupContextContextMenuStrip,
CalculationGroupContextOnNodeRemoved);
- yield return new TreeNodeInfo>
+ yield return new TreeNodeInfo
{
Text = context => RingtoetsCommonFormsResources.FailureMechanism_AssessmentResult_DisplayName,
Image = context => RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon,
@@ -715,8 +716,7 @@
return new object[]
{
new MacroStabilityInwardsScenariosContext(failureMechanism.CalculationsGroup, failureMechanism, assessmentSection),
- new FailureMechanismSectionResultContext(
- failureMechanism.SectionResults, failureMechanism),
+ new MacroStabilityInwardsFailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism, assessmentSection),
failureMechanism.OutputComments
};
}
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsCalculationScenarioTest.cs
===================================================================
diff -u -rc5836107e7d32e9802f3febb60303ea5c0c37484 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsCalculationScenarioTest.cs (.../MacroStabilityInwardsCalculationScenarioTest.cs) (revision c5836107e7d32e9802f3febb60303ea5c0c37484)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsCalculationScenarioTest.cs (.../MacroStabilityInwardsCalculationScenarioTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -78,41 +78,6 @@
}
[Test]
- public void Probability_OutputSet_ReturnsOutputProbability()
- {
- // Setup
- const double expectedProbability = 1.0 / 49862180;
-
- var scenario = new MacroStabilityInwardsCalculationScenario
- {
- Output = MacroStabilityInwardsOutputTestFactory.CreateOutput(),
- SemiProbabilisticOutput = MacroStabilityInwardsSemiProbabilisticOutputTestFactory.CreateOutput(expectedProbability)
- };
-
- // Call
- double probability = scenario.Probability;
-
- // Assert
- Assert.AreEqual(expectedProbability, probability);
- }
-
- [Test]
- public void Probability_ScenarioStatusNotDone_ThrowsInvalidOperationException()
- {
- // Setup
- var scenario = new MacroStabilityInwardsCalculationScenario();
-
- // Call
- TestDelegate call = () =>
- {
- double probability = scenario.Probability;
- };
-
- // Assert
- Assert.Throws(call);
- }
-
- [Test]
public void CalculationScenarioStatus_OutputNull_ReturnsStatusNotCalculated()
{
// Setup
@@ -126,40 +91,6 @@
}
[Test]
- public void CalculationScenarioStatus_SemiProbabilisticOutputNull_ReturnsStatusFailed()
- {
- // Setup
- var scenario = new MacroStabilityInwardsCalculationScenario
- {
- Output = MacroStabilityInwardsOutputTestFactory.CreateOutput(),
- SemiProbabilisticOutput = null
- };
-
- // Call
- CalculationScenarioStatus status = scenario.Status;
-
- // Assert
- Assert.AreEqual(CalculationScenarioStatus.Failed, status);
- }
-
- [Test]
- public void CalculationScenarioStatus_ScenarioInvalid_ReturnsStatusFailed()
- {
- // Setup
- var scenario = new MacroStabilityInwardsCalculationScenario
- {
- Output = MacroStabilityInwardsOutputTestFactory.CreateOutput(),
- SemiProbabilisticOutput = MacroStabilityInwardsSemiProbabilisticOutputTestFactory.CreateOutput(double.NaN)
- };
-
- // Call
- CalculationScenarioStatus status = scenario.Status;
-
- // Assert
- Assert.AreEqual(CalculationScenarioStatus.Failed, status);
- }
-
- [Test]
public void CalculationScenarioStatus_OutputSet_ReturnsStatusDone()
{
// Setup
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensionsTest.cs
===================================================================
diff -u -r00da0d2f72214f140bceff0eaae5f14172c587de -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensionsTest.cs (.../MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensionsTest.cs) (revision 00da0d2f72214f140bceff0eaae5f14172c587de)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensionsTest.cs (.../MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensionsTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -19,12 +19,16 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using System.Linq;
using Core.Common.Base.Data;
using Core.Common.Base.Geometry;
using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Calculation;
using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Data.TestUtil;
using Ringtoets.MacroStabilityInwards.Data.TestUtil;
namespace Ringtoets.MacroStabilityInwards.Data.Test
@@ -33,21 +37,103 @@
public class MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensionsTest
{
[Test]
+ public void GetAssessmentLayerTwoA_SectionResultNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ // Call
+ TestDelegate call = () => MacroStabilityInwardsFailureMechanismSection2aAssessmentResultExtensions.GetAssessmentLayerTwoA(
+ null, Enumerable.Empty(),
+ new MacroStabilityInwardsFailureMechanism(), assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("sectionResult", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void GetAssessmentLayerTwoA_CalculationsNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
+
+ // Call
+ TestDelegate call = () => failureMechanismSectionResult.GetAssessmentLayerTwoA(null, new MacroStabilityInwardsFailureMechanism(),
+ assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("calculations", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void GetAssessmentLayerTwoA_FailureMechanismNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
+
+ // Call
+ TestDelegate call = () => failureMechanismSectionResult.GetAssessmentLayerTwoA(Enumerable.Empty(),
+ null, assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanism", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void GetAssessmentLayerTwoA_AssessmentSectionNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
+
+ // Call
+ TestDelegate call = () => failureMechanismSectionResult.GetAssessmentLayerTwoA(Enumerable.Empty(),
+ new MacroStabilityInwardsFailureMechanism(), null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("assessmentSection", exception.ParamName);
+ }
+
+ [Test]
public void GetAssessmentLayerTwoA_MultipleScenarios_ReturnsValueBasedOnRelevantAndDoneScenarios()
{
// Setup
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
+ var mocks = new MockRepository();
+ IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks);
+
FailureMechanismSection section = CreateSection();
var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
const double contribution1 = 0.2;
const double contribution2 = 0.8;
- const double probability1 = 1.0 / 1000000.0;
- const double probability2 = 1.0 / 2000000.0;
+ const double factorOfStability1 = 1.0 / 1000000.0;
+ const double factorOfStability2 = 1.0 / 2000000.0;
- MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario1 = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenario(probability1, section);
- MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario2 = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenario(probability2, section);
+ MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario1 = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenario(factorOfStability1, section);
+ MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario2 = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenario(factorOfStability2, section);
MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario3 = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenario(0.0, section);
- MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario4 = MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(section);
+ MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario4 = MacroStabilityInwardsCalculationScenarioFactory.CreateNotCalculatedMacroStabilityInwardsCalculationScenario(section);
macroStabilityInwardsCalculationScenario1.IsRelevant = true;
macroStabilityInwardsCalculationScenario1.Contribution = (RoundedDouble) contribution1;
@@ -68,51 +154,45 @@
};
// Call
- double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(calculations);
+ double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(calculations, failureMechanism, assessmentSection);
// Assert
- const double expectedProbability = probability1 * contribution1 + probability2 * contribution2;
- Assert.AreEqual(expectedProbability, assessmentLayerTwoA, 1e-8);
+ Assert.AreEqual(0.99801160064610306, assessmentLayerTwoA, 1e-8);
+ mocks.VerifyAll();
}
[Test]
- public void GetAssessmentLayerTwoA_ScenarioInvalidOutput_ReturnsZero()
- {
- // Setup
- FailureMechanismSection section = CreateSection();
- var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
-
- MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario = MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(section);
- macroStabilityInwardsCalculationScenario.Contribution = (RoundedDouble) 1.0;
-
- // Call
- double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(new[]
- {
- macroStabilityInwardsCalculationScenario
- });
-
- // Assert
- Assert.IsNaN(assessmentLayerTwoA);
- }
-
- [Test]
public void GetAssessmentLayerTwoA_NoScenarios_ReturnsZero()
{
// Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
FailureMechanismSection section = CreateSection();
var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
// Call
- double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(Enumerable.Empty());
+ double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(Enumerable.Empty(),
+ failureMechanism, assessmentSection);
// Assert
Assert.IsNaN(assessmentLayerTwoA);
+ mocks.VerifyAll();
}
[Test]
public void GetAssessmentLayerTwoA_NoRelevantScenarios_ReturnsZero()
{
// Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
FailureMechanismSection section = CreateSection();
var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
@@ -126,16 +206,25 @@
};
// Call
- double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(calculationScenarios);
+ double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(calculationScenarios,
+ failureMechanism,
+ assessmentSection);
// Assert
Assert.IsNaN(assessmentLayerTwoA);
+ mocks.VerifyAll();
}
[Test]
public void GetAssessmentLayerTwoA_ScenarioNotCalculated_ReturnsZero()
{
// Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
FailureMechanismSection section = CreateSection();
var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
@@ -145,23 +234,63 @@
double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(new[]
{
macroStabilityInwardsCalculationScenario
- });
+ }, failureMechanism, assessmentSection);
// Assert
Assert.IsNaN(assessmentLayerTwoA);
+ mocks.VerifyAll();
}
[Test]
+ public void GetAssessmentLayerTwoA_ScenarioWithNanResults_ReturnsNaN()
+ {
+ // Setup
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
+ var mocks = new MockRepository();
+ IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks);
+
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
+
+ const double contribution1 = 0.2;
+ const double contribution2 = 0.8;
+
+ MacroStabilityInwardsCalculationScenario calculationScenario1 = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenario(0, section);
+ MacroStabilityInwardsCalculationScenario calculationScenario2 = MacroStabilityInwardsCalculationScenarioFactory.CreateNotCalculatedMacroStabilityInwardsCalculationScenario(section);
+
+ calculationScenario1.IsRelevant = true;
+ calculationScenario1.Contribution = (RoundedDouble)contribution1;
+
+ calculationScenario2.IsRelevant = true;
+ calculationScenario2.Contribution = (RoundedDouble)contribution2;
+ calculationScenario2.Output = MacroStabilityInwardsOutputTestFactory.CreateOutput();
+
+ var calculations = new[]
+ {
+ calculationScenario1,
+ calculationScenario2
+ };
+
+ // Call
+ double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(calculations, failureMechanism, assessmentSection);
+
+ // Assert
+ Assert.IsNaN(assessmentLayerTwoA);
+ mocks.VerifyAll();
+ }
+
+ [Test]
public void GetTotalContribution_Always_ReturnsTotalRelevantScenarioContribution()
{
// Setup
FailureMechanismSection section = CreateSection();
var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
- MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario = MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(section);
+ MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario = MacroStabilityInwardsCalculationScenarioFactory.CreateNotCalculatedMacroStabilityInwardsCalculationScenario(section);
macroStabilityInwardsCalculationScenario.Contribution = (RoundedDouble) 0.3;
- MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario2 = MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(section);
+ MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario2 = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput(section);
macroStabilityInwardsCalculationScenario2.Contribution = (RoundedDouble) 0.5;
MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario3 = MacroStabilityInwardsCalculationScenarioFactory.CreateIrrelevantMacroStabilityInwardsCalculationScenario(section);
@@ -200,13 +329,13 @@
}
[Test]
- public void GetCalculationScenarioStatus_ScenarioInvalidOutput_ReturnsStatusFailed()
+ public void GetCalculationScenarioStatus_ScenarioNaNOutput_ReturnsStatusDone()
{
// Setup
FailureMechanismSection section = CreateSection();
var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
- MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario = MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(section);
+ MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput(section);
macroStabilityInwardsCalculationScenario.Contribution = (RoundedDouble) 1.0;
// Call
@@ -216,11 +345,11 @@
});
// Assert
- Assert.AreEqual(CalculationScenarioStatus.Failed, status);
+ Assert.AreEqual(CalculationScenarioStatus.Done, status);
}
[Test]
- public void GetCalculationScenarioStatus_ScenarioInvalidOutputAndNotCalculated_ReturnsStatusFailed()
+ public void GetCalculationScenarioStatus_ScenarioNaNOutputAndNotCalculated_ReturnsStatusNotCalculated()
{
// Setup
FailureMechanismSection section = CreateSection();
@@ -229,7 +358,7 @@
MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario = MacroStabilityInwardsCalculationScenarioFactory.CreateNotCalculatedMacroStabilityInwardsCalculationScenario(section);
macroStabilityInwardsCalculationScenario.IsRelevant = true;
- MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario2 = MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(section);
+ MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario2 = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput(section);
macroStabilityInwardsCalculationScenario2.Contribution = (RoundedDouble) 1.0;
var calculationScenarios = new[]
@@ -242,7 +371,7 @@
CalculationScenarioStatus status = failureMechanismSectionResult.GetCalculationScenarioStatus(calculationScenarios);
// Assert
- Assert.AreEqual(CalculationScenarioStatus.Failed, status);
+ Assert.AreEqual(CalculationScenarioStatus.NotCalculated, status);
}
[Test]
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismSectionResultTest.cs
===================================================================
diff -u -rf4049b9b0967513aeadfddb1fe58efa3b3aa1677 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismSectionResultTest.cs (.../MacroStabilityInwardsFailureMechanismSectionResultTest.cs) (revision f4049b9b0967513aeadfddb1fe58efa3b3aa1677)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismSectionResultTest.cs (.../MacroStabilityInwardsFailureMechanismSectionResultTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -22,6 +22,8 @@
using System;
using Core.Common.TestUtil;
using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.TestUtil;
@@ -34,6 +36,11 @@
public void Constructor_WithParameters_ExpectedValues()
{
// Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
// Call
@@ -43,7 +50,8 @@
Assert.IsInstanceOf(sectionResult);
Assert.AreSame(section, sectionResult.Section);
Assert.IsNaN(sectionResult.AssessmentLayerThree);
- Assert.IsNaN(sectionResult.GetAssessmentLayerTwoA(new MacroStabilityInwardsCalculationScenario[0]));
+ Assert.IsNaN(sectionResult.GetAssessmentLayerTwoA(new MacroStabilityInwardsCalculationScenario[0], failureMechanism, assessmentSection));
+ mocks.VerifyAll();
}
[Test]
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsCalculationScenarioFactoryTest.cs
===================================================================
diff -u -re38673ff639b5d86a2f55997e2d0d876ba4737f7 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsCalculationScenarioFactoryTest.cs (.../MacroStabilityInwardsCalculationScenarioFactoryTest.cs) (revision e38673ff639b5d86a2f55997e2d0d876ba4737f7)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsCalculationScenarioFactoryTest.cs (.../MacroStabilityInwardsCalculationScenarioFactoryTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -50,45 +50,43 @@
[TestCase(0.0, TestName = "CreateCalculationScenario_WithSection_CreatesRelevantCalculationWithOutputSet(0.0)")]
[TestCase(0.8, TestName = "CreateCalculationScenario_WithSection_CreatesRelevantCalculationWithOutputSet(0.8)")]
[TestCase(1.0, TestName = "CreateCalculationScenario_WithSection_CreatesRelevantCalculationWithOutputSet(1.0)")]
- public void CreateMacroStabilityInwardsCalculationScenario_WithSection_CreatesRelevantCalculationWithOutputSet(double probability)
+ public void CreateMacroStabilityInwardsCalculationScenario_WithSection_CreatesRelevantCalculationWithOutputSet(double factoryOfStability)
{
// Setup
FailureMechanismSection section = CreateSection();
// Call
- MacroStabilityInwardsCalculationScenario scenario = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenario(probability, section);
+ MacroStabilityInwardsCalculationScenario scenario = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenario(factoryOfStability, section);
// Assert
Assert.NotNull(scenario.Output);
- Assert.NotNull(scenario.SemiProbabilisticOutput);
- Assert.AreEqual(probability, scenario.SemiProbabilisticOutput.MacroStabilityInwardsProbability, 1e-6);
+ Assert.AreEqual(factoryOfStability, scenario.Output.FactorOfStability, 1e-6);
Assert.IsTrue(scenario.IsRelevant);
}
[Test]
- public void CreateFailedMacroStabilityInwardsCalculationScenario_WithNoSection_ThrowsArgumentNullException()
+ public void CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput_WithNoSection_ThrowsArgumentNullException()
{
// Call
- TestDelegate test = () => MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(null);
+ TestDelegate test = () => MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput(null);
// Assert
string paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("section", paramName);
}
[Test]
- public void CreateFailedMacroStabilityInwardsCalculationScenario_WithSection_CreatesRelevantCalculationWithOutputSetToNaN()
+ public void CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput_WithSection_CreatesRelevantCalculationWithOutputSetToNaN()
{
// Setup
FailureMechanismSection section = CreateSection();
// Call
- MacroStabilityInwardsCalculationScenario scenario = MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(section);
+ MacroStabilityInwardsCalculationScenario scenario = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput(section);
// Assert
Assert.NotNull(scenario.Output);
- Assert.NotNull(scenario.SemiProbabilisticOutput);
- Assert.IsNaN(scenario.SemiProbabilisticOutput.MacroStabilityInwardsProbability);
+ Assert.IsNaN(scenario.Output.FactorOfStability);
Assert.IsTrue(scenario.IsRelevant);
}
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil/MacroStabilityInwardsCalculationScenarioFactory.cs
===================================================================
diff -u -re38673ff639b5d86a2f55997e2d0d876ba4737f7 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil/MacroStabilityInwardsCalculationScenarioFactory.cs (.../MacroStabilityInwardsCalculationScenarioFactory.cs) (revision e38673ff639b5d86a2f55997e2d0d876ba4737f7)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil/MacroStabilityInwardsCalculationScenarioFactory.cs (.../MacroStabilityInwardsCalculationScenarioFactory.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -41,34 +41,28 @@
///
/// Creates a calculated scenario for which the surface line on the input intersects with .
///
- /// The value for .
+ /// The value for .
/// The section for which an intersection will be created.
/// A new .
- public static MacroStabilityInwardsCalculationScenario CreateMacroStabilityInwardsCalculationScenario(double probability,
+ public static MacroStabilityInwardsCalculationScenario CreateMacroStabilityInwardsCalculationScenario(double factorOfStability,
FailureMechanismSection section)
{
MacroStabilityInwardsCalculationScenario scenario = CreateNotCalculatedMacroStabilityInwardsCalculationScenario(section);
- var random = new Random(21);
- scenario.SemiProbabilisticOutput = new MacroStabilityInwardsSemiProbabilisticOutput(
- random.NextDouble(),
- random.NextDouble(),
- random.NextDouble(),
- probability,
- random.NextDouble(),
- random.NextDouble());
+ scenario.Output = MacroStabilityInwardsOutputTestFactory.CreateOutput(new MacroStabilityInwardsOutput.ConstructionProperties
+ {
+ FactorOfStability = factorOfStability
+ });
- scenario.Output = MacroStabilityInwardsOutputTestFactory.CreateOutput();
-
return scenario;
}
///
/// Creates a scenario for which the surface line on the input intersects with and
- /// the calculation has failed.
+ /// the calculation has as factor of stability.
///
/// The section for which an intersection will be created.
/// A new .
- public static MacroStabilityInwardsCalculationScenario CreateFailedMacroStabilityInwardsCalculationScenario(FailureMechanismSection section)
+ public static MacroStabilityInwardsCalculationScenario CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput(FailureMechanismSection section)
{
return CreateMacroStabilityInwardsCalculationScenario(double.NaN, section);
}
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs
===================================================================
diff -u -rc4392a12110e2bb3549c5fee1ec319c229b67198 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewTest.cs) (revision c4392a12110e2bb3549c5fee1ec319c229b67198)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -19,6 +19,7 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
@@ -29,7 +30,10 @@
using Core.Common.TestUtil;
using NUnit.Extensions.Forms;
using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Data.TestUtil;
using Ringtoets.MacroStabilityInwards.Data;
using Ringtoets.MacroStabilityInwards.Data.TestUtil;
using Ringtoets.MacroStabilityInwards.Forms.Views;
@@ -60,14 +64,20 @@
[Test]
public void DefaultConstructor_DefaultValues()
{
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
// Call
- using (var view = new MacroStabilityInwardsFailureMechanismResultView())
+ using (var view = new MacroStabilityInwardsFailureMechanismResultView(assessmentSection))
{
// Assert
Assert.IsInstanceOf(view);
Assert.IsInstanceOf(view);
Assert.IsNull(view.Data);
}
+ mocks.VerifyAll();
}
[Test]
@@ -349,7 +359,7 @@
// Assert
Assert.IsEmpty(dataGridViewCell.ErrorText);
- Assert.AreEqual($"1/{1 / calculationScenario.Probability:N0}",
+ Assert.AreEqual($"1/{1 / 1}",
formattedValue);
}
}
@@ -396,7 +406,7 @@
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
using (MacroStabilityInwardsFailureMechanismResultView view = ShowFullyConfiguredFailureMechanismResultsView(failureMechanism))
{
- MacroStabilityInwardsCalculationScenario calculationScenario = MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(
+ MacroStabilityInwardsCalculationScenario calculationScenario = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput(
failureMechanism.Sections.First());
failureMechanism.CalculationsGroup.Children.Add(calculationScenario);
view.Data = failureMechanism.SectionResults;
@@ -484,7 +494,7 @@
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
using (ShowFullyConfiguredFailureMechanismResultsView(failureMechanism))
{
- MacroStabilityInwardsCalculationScenario calculationScenario = MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(
+ MacroStabilityInwardsCalculationScenario calculationScenario = MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput(
failureMechanism.Sections.First());
failureMechanism.CalculationsGroup.Children.Add(calculationScenario);
@@ -526,7 +536,7 @@
private MacroStabilityInwardsFailureMechanismResultView ShowFailureMechanismResultsView()
{
- var failureMechanismResultView = new MacroStabilityInwardsFailureMechanismResultView();
+ var failureMechanismResultView = new MacroStabilityInwardsFailureMechanismResultView(new ObservableTestAssessmentSectionStub());
testForm.Controls.Add(failureMechanismResultView);
testForm.Show();
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismSectionResultRowTest.cs
===================================================================
diff -u -rf4049b9b0967513aeadfddb1fe58efa3b3aa1677 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismSectionResultRowTest.cs (.../MacroStabilityInwardsFailureMechanismSectionResultRowTest.cs) (revision f4049b9b0967513aeadfddb1fe58efa3b3aa1677)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismSectionResultRowTest.cs (.../MacroStabilityInwardsFailureMechanismSectionResultRowTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -24,7 +24,8 @@
using Core.Common.Base.Data;
using Core.Common.TestUtil;
using NUnit.Framework;
-using Ringtoets.Common.Data.Calculation;
+using Rhino.Mocks;
+using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.TestUtil;
using Ringtoets.Common.Forms.TypeConverters;
@@ -42,15 +43,24 @@
public void Constructor_WithParameters_ExpectedValues()
{
// Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
var result = new MacroStabilityInwardsFailureMechanismSectionResult(section);
// Call
- var row = new MacroStabilityInwardsFailureMechanismSectionResultRow(result, Enumerable.Empty());
+ var row = new MacroStabilityInwardsFailureMechanismSectionResultRow(result, Enumerable.Empty(),
+ failureMechanism, assessmentSection);
// Assert
Assert.IsInstanceOf>(row);
- Assert.AreEqual(result.GetAssessmentLayerTwoA(Enumerable.Empty()), row.AssessmentLayerTwoA);
+ Assert.AreEqual(result.GetAssessmentLayerTwoA(Enumerable.Empty(),
+ failureMechanism, assessmentSection),
+ row.AssessmentLayerTwoA);
Assert.AreEqual(row.AssessmentLayerThree, result.AssessmentLayerThree);
TestHelper.AssertTypeConverter(
@@ -63,29 +73,82 @@
public void Constructor_CalculationsNull_ThrowsArgumentNullException()
{
// Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
var result = new MacroStabilityInwardsFailureMechanismSectionResult(section);
// Call
- TestDelegate test = () => new MacroStabilityInwardsFailureMechanismSectionResultRow(result, null);
+ TestDelegate test = () => new MacroStabilityInwardsFailureMechanismSectionResultRow(result, null,
+ failureMechanism, assessmentSection);
// Assert
string paramName = Assert.Throws(test).ParamName;
Assert.AreEqual("calculations", paramName);
+ mocks.VerifyAll();
}
[Test]
+ public void Constructor_FailureMechanismNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var result = new MacroStabilityInwardsFailureMechanismSectionResult(section);
+
+ // Call
+ TestDelegate call = () => new MacroStabilityInwardsFailureMechanismSectionResultRow(result, Enumerable.Empty(),
+ null, assessmentSection);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanism", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void Constructor_AssessmentSectionNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
+ var result = new MacroStabilityInwardsFailureMechanismSectionResult(section);
+
+ // Call
+ TestDelegate call = () => new MacroStabilityInwardsFailureMechanismSectionResultRow(result, Enumerable.Empty(),
+ new MacroStabilityInwardsFailureMechanism(), null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("assessmentSection", exception.ParamName);
+ }
+
+ [Test]
public void AssessmentLayerTwoA_NoScenarios_ReturnNaN()
{
// Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
var result = new MacroStabilityInwardsFailureMechanismSectionResult(section);
// Call
- var row = new MacroStabilityInwardsFailureMechanismSectionResultRow(result, Enumerable.Empty());
+ var row = new MacroStabilityInwardsFailureMechanismSectionResultRow(result, Enumerable.Empty(),
+ failureMechanism, assessmentSection);
// Assert
Assert.IsNaN(row.AssessmentLayerTwoA);
+ mocks.VerifyAll();
}
[Test]
@@ -97,6 +160,12 @@
public void AssessmentLayerTwoA_RelevantScenarioContributionDontAddUpTo1_ReturnNaN(double contributionA, double contributionB)
{
// Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
MacroStabilityInwardsCalculationScenario scenarioA =
@@ -111,45 +180,53 @@
{
scenarioA,
scenarioB
- });
+ }, failureMechanism, assessmentSection);
// Call
double assessmentLayerTwoA = row.AssessmentLayerTwoA;
// Assert
Assert.IsNaN(assessmentLayerTwoA);
+ mocks.VerifyAll();
}
[Test]
- [TestCase(CalculationScenarioStatus.NotCalculated)]
- [TestCase(CalculationScenarioStatus.Failed)]
- public void AssessmentLayerTwoA_NoRelevantScenariosDone_ReturnNaN(CalculationScenarioStatus status)
+ public void AssessmentLayerTwoA_NoRelevantScenariosDone_ReturnNaN()
{
// Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
- MacroStabilityInwardsCalculationScenario scenario =
- status.Equals(CalculationScenarioStatus.NotCalculated)
- ? MacroStabilityInwardsCalculationScenarioFactory.CreateNotCalculatedMacroStabilityInwardsCalculationScenario(section)
- : MacroStabilityInwardsCalculationScenarioFactory.CreateFailedMacroStabilityInwardsCalculationScenario(section);
+ MacroStabilityInwardsCalculationScenario scenario = MacroStabilityInwardsCalculationScenarioFactory.CreateNotCalculatedMacroStabilityInwardsCalculationScenario(section);
var result = new MacroStabilityInwardsFailureMechanismSectionResult(section);
var row = new MacroStabilityInwardsFailureMechanismSectionResultRow(result, new[]
{
scenario
- });
+ }, failureMechanism, assessmentSection);
// Call
double assessmentLayerTwoA = row.AssessmentLayerTwoA;
// Assert
Assert.IsNaN(assessmentLayerTwoA);
+ mocks.VerifyAll();
}
[Test]
public void AssessmentLayerTwoA_RelevantScenariosDone_ResultOfSection()
{
// Setup
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
+ var mocks = new MockRepository();
+ IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks);
+
FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
MacroStabilityInwardsCalculationScenario scenario =
MacroStabilityInwardsCalculationScenarioFactory.CreateMacroStabilityInwardsCalculationScenario(0.2, section);
@@ -159,7 +236,7 @@
var row = new MacroStabilityInwardsFailureMechanismSectionResultRow(result, new[]
{
scenario
- });
+ }, failureMechanism, assessmentSection);
// Call
double assessmentLayerTwoA = row.AssessmentLayerTwoA;
@@ -168,21 +245,29 @@
double expected = result.GetAssessmentLayerTwoA(new[]
{
scenario
- });
+ }, failureMechanism, assessmentSection);
Assert.AreEqual(expected, assessmentLayerTwoA, 1e-6);
+ mocks.VerifyAll();
}
[Test]
public void AssessmentLayerThree_ValueSet_ReturnExpectedValue()
{
// Setup
+ var mocks = new MockRepository();
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
var random = new Random(21);
double assessmentLayerThree = random.NextDouble();
var sectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(
FailureMechanismSectionTestFactory.CreateFailureMechanismSection());
var row = new MacroStabilityInwardsFailureMechanismSectionResultRow(sectionResult,
- Enumerable.Empty());
+ Enumerable.Empty(),
+ failureMechanism, assessmentSection);
// Call
row.AssessmentLayerThree = assessmentLayerThree;
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Integration.Test/MacroStabilityInwardsFailureMechanismResultViewIntegrationTest.cs
===================================================================
diff -u -r5d822eca2d7467c9781a4a3a54d796ac4229e4a3 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Integration.Test/MacroStabilityInwardsFailureMechanismResultViewIntegrationTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewIntegrationTest.cs) (revision 5d822eca2d7467c9781a4a3a54d796ac4229e4a3)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Integration.Test/MacroStabilityInwardsFailureMechanismResultViewIntegrationTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewIntegrationTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -47,15 +47,16 @@
using (var form = new Form())
{
// Show the view
- var failureMechanismResultView = new MacroStabilityInwardsFailureMechanismResultView();
+ var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);
+
+ var failureMechanismResultView = new MacroStabilityInwardsFailureMechanismResultView(assessmentSection);
form.Controls.Add(failureMechanismResultView);
form.Show();
// Obtain the data grid view
var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
// Set all necessary data to the view
- var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);
failureMechanismResultView.Data = assessmentSection.MacroStabilityInwards.SectionResults;
failureMechanismResultView.FailureMechanism = assessmentSection.MacroStabilityInwards;
@@ -119,19 +120,17 @@
dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].ErrorText);
// Execute the first calculation and ensure the data grid view is updated
- const double probability = 1.0 / 31846382.0;
- calculation1.Output = MacroStabilityInwardsOutputTestFactory.CreateOutput();
- calculation1.SemiProbabilisticOutput = MacroStabilityInwardsSemiProbabilisticOutputTestFactory.CreateOutput(probability);
+ calculation1.Output = MacroStabilityInwardsOutputTestFactory.CreateRandomOutput();
calculation1.NotifyObservers();
- Assert.AreEqual($"1/{1.0 / calculation1.Probability:N0}",
+ Assert.AreEqual("1/14",
dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].FormattedValue);
Assert.IsEmpty(dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].ErrorText);
// Add another, nested calculation without surface line and ensure the data grid view is updated when the surface line is set
var calculation3 = new MacroStabilityInwardsCalculationScenario();
nestedCalculationGroup.Children.Add(calculation3);
nestedCalculationGroup.NotifyObservers();
- Assert.AreEqual($"1/{1.0 / calculation1.Probability:N0}",
+ Assert.AreEqual("1/14",
dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].FormattedValue);
Assert.IsEmpty(dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].ErrorText);
@@ -165,7 +164,7 @@
// Set contribution again so we have a probability.
calculation1.Contribution = (RoundedDouble) 1.0;
calculation1.NotifyObservers();
- Assert.AreEqual($"1/{1.0 / calculation1.Probability:N0}",
+ Assert.AreEqual("1/14",
dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].FormattedValue);
Assert.IsEmpty(dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].ErrorText);
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/MacroStabilityInwardsPluginTest.cs
===================================================================
diff -u -r0bc724e93170500800aa7e5d3bf641ab44eeeac7 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/MacroStabilityInwardsPluginTest.cs (.../MacroStabilityInwardsPluginTest.cs) (revision 0bc724e93170500800aa7e5d3bf641ab44eeeac7)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/MacroStabilityInwardsPluginTest.cs (.../MacroStabilityInwardsPluginTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -130,7 +130,7 @@
Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsCalculationGroupContext)));
Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsInputContext)));
Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsFailureMechanismContext)));
- Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(FailureMechanismSectionResultContext)));
+ Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsFailureMechanismSectionResultContext)));
Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsOutputContext)));
Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(MacroStabilityInwardsScenariosContext)));
}
@@ -155,7 +155,7 @@
PluginTestHelper.AssertViewInfoDefined(
viewInfos,
- typeof(FailureMechanismSectionResultContext),
+ typeof(MacroStabilityInwardsFailureMechanismSectionResultContext),
typeof(IEnumerable),
typeof(MacroStabilityInwardsFailureMechanismResultView));
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/Ringtoets.MacroStabilityInwards.Plugin.Test.csproj
===================================================================
diff -u -r0bc724e93170500800aa7e5d3bf641ab44eeeac7 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/Ringtoets.MacroStabilityInwards.Plugin.Test.csproj (.../Ringtoets.MacroStabilityInwards.Plugin.Test.csproj) (revision 0bc724e93170500800aa7e5d3bf641ab44eeeac7)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/Ringtoets.MacroStabilityInwards.Plugin.Test.csproj (.../Ringtoets.MacroStabilityInwards.Plugin.Test.csproj) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -53,7 +53,7 @@
-
+
Fisheye: Tag fb3c4216478c0f072cf2f1a94053e81756ced5c7 refers to a dead (removed) revision in file `Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/FailureMechanismSectionResultContextTreeNodeInfoTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/MacroStabilityInwardsFailureMechanismSectionResultContextTreeNodeInfoTest.cs
===================================================================
diff -u
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/MacroStabilityInwardsFailureMechanismSectionResultContextTreeNodeInfoTest.cs (revision 0)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/MacroStabilityInwardsFailureMechanismSectionResultContextTreeNodeInfoTest.cs (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -0,0 +1,140 @@
+// Copyright (C) Stichting Deltares 2017. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets 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.Gui;
+using Core.Common.Gui.ContextMenu;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.MacroStabilityInwards.Data;
+using Ringtoets.MacroStabilityInwards.Forms.PresentationObjects;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Ringtoets.MacroStabilityInwards.Plugin.Test.TreeNodeInfos
+{
+ [TestFixture]
+ public class MacroStabilityInwardsFailureMechanismSectionResultContextTreeNodeInfoTest
+ {
+ private MockRepository mocks;
+ private MacroStabilityInwardsPlugin plugin;
+ private TreeNodeInfo info;
+
+ [SetUp]
+ public void SetUp()
+ {
+ mocks = new MockRepository();
+ plugin = new MacroStabilityInwardsPlugin();
+ info = plugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(MacroStabilityInwardsFailureMechanismSectionResultContext));
+ }
+
+ [TearDown]
+ public void TearDown()
+ {
+ plugin.Dispose();
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void Initialized_Always_ExpectedPropertiesSet()
+ {
+ // Setup
+ mocks.ReplayAll();
+
+ // Assert
+ Assert.IsNotNull(info.Text);
+ Assert.IsNull(info.ForeColor);
+ Assert.IsNotNull(info.Image);
+ Assert.IsNotNull(info.ContextMenuStrip);
+ Assert.IsNull(info.EnsureVisibleOnCreate);
+ Assert.IsNull(info.ExpandOnCreate);
+ Assert.IsNull(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.IsChecked);
+ Assert.IsNull(info.OnNodeChecked);
+ Assert.IsNull(info.CanDrag);
+ Assert.IsNull(info.CanDrop);
+ Assert.IsNull(info.CanInsert);
+ Assert.IsNull(info.OnDrop);
+ }
+
+ [Test]
+ public void Text_Always_ReturnsName()
+ {
+ // Setup
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var mechanism = new MacroStabilityInwardsFailureMechanism();
+ var context = new MacroStabilityInwardsFailureMechanismSectionResultContext(mechanism.SectionResults, mechanism, assessmentSection);
+
+ // Call
+ string text = info.Text(context);
+
+ // Assert
+ Assert.AreEqual("Resultaat", text);
+ }
+
+ [Test]
+ public void Image_Always_ReturnsGenericInputOutputIcon()
+ {
+ // Setup
+ mocks.ReplayAll();
+
+ // Call
+ Image image = info.Image(null);
+
+ // Assert
+ TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, image);
+ }
+
+ [Test]
+ public void ContextMenuStrip_Always_CallsBuilder()
+ {
+ // Setup
+ var menuBuilder = mocks.StrictMock();
+ menuBuilder.Expect(mb => mb.AddOpenItem()).Return(menuBuilder);
+ menuBuilder.Expect(mb => mb.Build()).Return(null);
+
+ using (var treeViewControl = new TreeViewControl())
+ {
+ var gui = mocks.Stub();
+ gui.Stub(g => g.Get(null, treeViewControl)).Return(menuBuilder);
+
+ mocks.ReplayAll();
+
+ plugin.Gui = gui;
+
+ // Call
+ info.ContextMenuStrip(null, null, treeViewControl);
+ }
+ // Assert
+ // Assert expectancies are called in TearDown()
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsFailureMechanismResultViewInfoTest.cs
===================================================================
diff -u -r3178e116f5e59e03078d465efeb303c5e232c7bf -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsFailureMechanismResultViewInfoTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewInfoTest.cs) (revision 3178e116f5e59e03078d465efeb303c5e232c7bf)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/ViewInfos/MacroStabilityInwardsFailureMechanismResultViewInfoTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewInfoTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -23,6 +23,7 @@
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
+using Core.Common.Controls.Views;
using Core.Common.Gui.Plugin;
using Core.Common.TestUtil;
using NUnit.Framework;
@@ -63,70 +64,49 @@
public void Initialized_Always_ExpectedPropertiesSet()
{
// Assert
- Assert.AreEqual(typeof(FailureMechanismSectionResultContext), info.DataType);
+ Assert.AreEqual(typeof(MacroStabilityInwardsFailureMechanismSectionResultContext), info.DataType);
Assert.AreEqual(typeof(IEnumerable), info.ViewDataType);
}
[Test]
public void GetViewData_Always_ReturnsWrappedFailureMechanismResult()
{
// Setup
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
- var context = new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism);
+ var context = new MacroStabilityInwardsFailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism, assessmentSection);
// Call
object viewData = info.GetViewData(context);
// Assert
Assert.AreSame(failureMechanism.SectionResults, viewData);
+ mocks.VerifyAll();
}
[Test]
public void GetViewName_Always_ReturnsViewName()
{
// Setup
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
- using (var view = new MacroStabilityInwardsFailureMechanismResultView())
+ using (var view = new MacroStabilityInwardsFailureMechanismResultView(assessmentSection))
{
// Call
string viewName = info.GetViewName(view, failureMechanism.SectionResults);
// Assert
Assert.AreEqual("Resultaat", viewName);
}
- }
- [Test]
- public void ViewType_Always_ReturnsViewType()
- {
- // Call
- Type viewType = info.ViewType;
-
- // Assert
- Assert.AreEqual(typeof(MacroStabilityInwardsFailureMechanismResultView), viewType);
+ mocks.VerifyAll();
}
[Test]
- public void DataType_Always_ReturnsDataType()
- {
- // Call
- Type dataType = info.DataType;
-
- // Assert
- Assert.AreEqual(typeof(FailureMechanismSectionResultContext), dataType);
- }
-
- [Test]
- public void ViewDataType_Always_ReturnsViewDataType()
- {
- // Call
- Type viewDataType = info.ViewDataType;
-
- // Assert
- Assert.AreEqual(typeof(IEnumerable), viewDataType);
- }
-
- [Test]
public void Image_Always_ReturnsGenericInputOutputIcon()
{
// Call
@@ -146,7 +126,7 @@
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
- using (var view = new MacroStabilityInwardsFailureMechanismResultView
+ using (var view = new MacroStabilityInwardsFailureMechanismResultView(assessmentSection)
{
Data = failureMechanism.SectionResults
})
@@ -157,6 +137,7 @@
// Assert
Assert.IsFalse(closeForData);
}
+
mocks.VerifyAll();
}
@@ -176,7 +157,7 @@
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
- using (var view = new MacroStabilityInwardsFailureMechanismResultView
+ using (var view = new MacroStabilityInwardsFailureMechanismResultView(assessmentSection)
{
Data = failureMechanism.SectionResults
})
@@ -187,6 +168,7 @@
// Assert
Assert.IsFalse(closeForData);
}
+
mocks.VerifyAll();
}
@@ -205,7 +187,7 @@
mocks.ReplayAll();
- using (var view = new MacroStabilityInwardsFailureMechanismResultView
+ using (var view = new MacroStabilityInwardsFailureMechanismResultView(assessmentSection)
{
Data = failureMechanism.SectionResults
})
@@ -216,16 +198,20 @@
// Assert
Assert.IsTrue(closeForData);
}
+
mocks.VerifyAll();
}
[Test]
public void CloseForData_ViewCorrespondingToRemovedFailureMechanism_ReturnsTrue()
{
// Setup
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
- using (var view = new MacroStabilityInwardsFailureMechanismResultView
+ using (var view = new MacroStabilityInwardsFailureMechanismResultView(assessmentSection)
{
Data = failureMechanism.SectionResults
})
@@ -236,14 +222,19 @@
// Assert
Assert.IsTrue(closeForData);
}
+
+ mocks.VerifyAll();
}
[Test]
public void CloseForData_ViewNotCorrespondingToRemovedFailureMechanismContext_ReturnsFalse()
{
// Setup
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
- using (var view = new MacroStabilityInwardsFailureMechanismResultView
+ using (var view = new MacroStabilityInwardsFailureMechanismResultView(assessmentSection)
{
Data = failureMechanism.SectionResults
})
@@ -254,6 +245,8 @@
// Assert
Assert.IsFalse(closeForData);
}
+
+ mocks.VerifyAll();
}
[Test]
@@ -265,7 +258,7 @@
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
var failureMechanismContext = new MacroStabilityInwardsFailureMechanismContext(failureMechanism, assessmentSection);
- using (var view = new MacroStabilityInwardsFailureMechanismResultView
+ using (var view = new MacroStabilityInwardsFailureMechanismResultView(assessmentSection)
{
Data = failureMechanism.SectionResults
})
@@ -276,6 +269,7 @@
// Assert
Assert.IsTrue(closeForData);
}
+
mocks.VerifyAll();
}
@@ -287,7 +281,7 @@
mocks.ReplayAll();
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
- using (var view = new MacroStabilityInwardsFailureMechanismResultView
+ using (var view = new MacroStabilityInwardsFailureMechanismResultView(assessmentSection)
{
Data = failureMechanism.SectionResults
})
@@ -302,15 +296,19 @@
// Assert
Assert.IsFalse(closeForData);
}
+
mocks.VerifyAll();
}
[Test]
public void AfterCreate_Always_SetsSpecificPropertiesToView()
{
// Setup
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
var failureMechanism = new MacroStabilityInwardsFailureMechanism();
- var context = new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism);
+ var context = new MacroStabilityInwardsFailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism, assessmentSection);
var view = mocks.StrictMock();
view.Expect(v => v.FailureMechanism = failureMechanism);
@@ -322,5 +320,26 @@
// Assert
mocks.VerifyAll();
}
+
+ [Test]
+ public void CreateInstance_Always_ReturnsView()
+ {
+ // Setup
+ var failureMechanism = new MacroStabilityInwardsFailureMechanism();
+
+ IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks);
+ mocks.ReplayAll();
+
+ var context = new MacroStabilityInwardsFailureMechanismSectionResultContext(failureMechanism.SectionResults,
+ failureMechanism,
+ assessmentSection);
+
+ // Call
+ IView view = info.CreateInstance(context);
+
+ // Assert
+ Assert.IsInstanceOf(view);
+ mocks.VerifyAll();
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs
===================================================================
diff -u -r271e81c620b40ebce812a9595b22ed0e4e7ce94a -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs (.../PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs) (revision 271e81c620b40ebce812a9595b22ed0e4e7ce94a)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs (.../PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -187,7 +187,6 @@
var failureMechanism = new PipingFailureMechanism();
-
FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section);
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingFailureMechanismSectionResultContextTest.cs
===================================================================
diff -u -rf4c4fe2feedd73d2f45395017b77df2bb56d5c27 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingFailureMechanismSectionResultContextTest.cs (.../PipingFailureMechanismSectionResultContextTest.cs) (revision f4c4fe2feedd73d2f45395017b77df2bb56d5c27)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingFailureMechanismSectionResultContextTest.cs (.../PipingFailureMechanismSectionResultContextTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -65,6 +65,7 @@
Assert.AreSame(sectionResults, context.WrappedData);
Assert.AreSame(failureMechanism, context.FailureMechanism);
Assert.AreSame(assessmentSection, context.AssessmentSection);
+ mocks.VerifyAll();
}
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs
===================================================================
diff -u -r25244fe94c640d8b0598ee52e355a320efb66512 -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs (.../PipingFailureMechanismResultViewIntegrationTest.cs) (revision 25244fe94c640d8b0598ee52e355a320efb66512)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs (.../PipingFailureMechanismResultViewIntegrationTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -47,9 +47,9 @@
{
using (var form = new Form())
{
+ // Show the view
var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);
- // Show the view
var failureMechanismResultView = new PipingFailureMechanismResultView(assessmentSection);
form.Controls.Add(failureMechanismResultView);
form.Show();
Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismResultViewInfoTest.cs
===================================================================
diff -u -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a -rfb3c4216478c0f072cf2f1a94053e81756ced5c7
--- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismResultViewInfoTest.cs (.../PipingFailureMechanismResultViewInfoTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismResultViewInfoTest.cs (.../PipingFailureMechanismResultViewInfoTest.cs) (revision fb3c4216478c0f072cf2f1a94053e81756ced5c7)
@@ -19,7 +19,6 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
-using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
@@ -31,7 +30,6 @@
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.TestUtil;
-using Ringtoets.Common.Forms.PresentationObjects;
using Ringtoets.Piping.Data;
using Ringtoets.Piping.Forms.PresentationObjects;
using Ringtoets.Piping.Forms.Views;