Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionProbabilityAssessmentRow.cs
===================================================================
diff -u -r7d3513bd9fed2d5a0381255640a5c3f31a0a6175 -r340fb4625cbca3ad4de3afed18923fc2c2d8af16
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionProbabilityAssessmentRow.cs (.../FailureMechanismSectionProbabilityAssessmentRow.cs) (revision 7d3513bd9fed2d5a0381255640a5c3f31a0a6175)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionProbabilityAssessmentRow.cs (.../FailureMechanismSectionProbabilityAssessmentRow.cs) (revision 340fb4625cbca3ad4de3afed18923fc2c2d8af16)
@@ -38,11 +38,16 @@
/// Creates a new instance of .
///
/// The failure mechanism section to use.
+ /// The start of the section from the beginning
+ /// of the reference line in meters.
+ /// The end of the section from the beginning of
+ /// the reference line in meters.
/// The probability assessment input to use.
/// Thrown when any input parameter is null.
public FailureMechanismSectionProbabilityAssessmentRow(FailureMechanismSection section,
+ double sectionStart, double sectionEnd,
ProbabilityAssessmentInput probabilityAssessmentInput)
- : base(section, 0, 0)
+ : base(section, sectionStart, sectionEnd)
{
if (probabilityAssessmentInput == null)
{
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsProbabilityAssessmentView.cs
===================================================================
diff -u -r303f338bc9e42d1d7621666fdf83b93a11f28b64 -r340fb4625cbca3ad4de3afed18923fc2c2d8af16
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsProbabilityAssessmentView.cs (.../FailureMechanismSectionsProbabilityAssessmentView.cs) (revision 303f338bc9e42d1d7621666fdf83b93a11f28b64)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismSectionsProbabilityAssessmentView.cs (.../FailureMechanismSectionsProbabilityAssessmentView.cs) (revision 340fb4625cbca3ad4de3afed18923fc2c2d8af16)
@@ -73,9 +73,18 @@
{
currentA = probabilityAssessmentInput.A;
- failureMechanismSectionsDataGridViewControl.SetDataSource(
- sections.Select(section => new FailureMechanismSectionProbabilityAssessmentRow(section, probabilityAssessmentInput))
- .ToArray());
+ var rows = new List();
+ double startDistance = 0;
+ foreach (FailureMechanismSection section in sections)
+ {
+ double endDistance = startDistance + section.Length;
+
+ rows.Add(new FailureMechanismSectionProbabilityAssessmentRow(section, startDistance, endDistance, probabilityAssessmentInput));
+
+ startDistance = endDistance;
+ }
+
+ failureMechanismSectionsDataGridViewControl.SetDataSource(rows);
}
protected override void Dispose(bool disposing)
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismSectionProbabilityAssessmentRowTest.cs
===================================================================
diff -u -rc7765a155d2a99d3805285129b8253dd7e7516c5 -r340fb4625cbca3ad4de3afed18923fc2c2d8af16
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismSectionProbabilityAssessmentRowTest.cs (.../FailureMechanismSectionProbabilityAssessmentRowTest.cs) (revision c7765a155d2a99d3805285129b8253dd7e7516c5)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismSectionProbabilityAssessmentRowTest.cs (.../FailureMechanismSectionProbabilityAssessmentRowTest.cs) (revision 340fb4625cbca3ad4de3afed18923fc2c2d8af16)
@@ -40,7 +40,7 @@
FailureMechanismSection section = GetTestFailureMechanismSection();
// Call
- TestDelegate test = () => new FailureMechanismSectionProbabilityAssessmentRow(section, null);
+ TestDelegate test = () => new FailureMechanismSectionProbabilityAssessmentRow(section, double.NaN, double.NaN, null);
// Assert
string paramName = Assert.Throws(test).ParamName;
@@ -53,15 +53,21 @@
// Setup
var random = new Random(39);
FailureMechanismSection section = GetTestFailureMechanismSection();
+ double sectionStart = random.NextDouble();
+ double sectionEnd = random.NextDouble();
var probabilityAssessmentInput = new TestProbabilityAssessmentInput(random.NextDouble(), random.NextDouble());
// Call
- var sectionRow = new FailureMechanismSectionProbabilityAssessmentRow(section, probabilityAssessmentInput);
+ var sectionRow = new FailureMechanismSectionProbabilityAssessmentRow(section, sectionStart, sectionEnd, probabilityAssessmentInput);
// Assert
Assert.IsInstanceOf(sectionRow);
Assert.AreEqual(section.Name, sectionRow.Name);
+
+ Assert.AreEqual(sectionStart, sectionRow.SectionStart, sectionRow.SectionStart.GetAccuracy());
+ Assert.AreEqual(sectionEnd, sectionRow.SectionEnd, sectionRow.SectionEnd.GetAccuracy());
+
Assert.AreEqual(section.Length, sectionRow.Length, sectionRow.Length.GetAccuracy());
Assert.AreEqual(2, sectionRow.N.NumberOfDecimalPlaces);
@@ -75,7 +81,7 @@
var random = new Random(39);
FailureMechanismSection section = GetTestFailureMechanismSection();
var probabilityAssessmentInput = new TestProbabilityAssessmentInput(random.NextDouble(), random.NextDouble());
- var sectionRow = new FailureMechanismSectionProbabilityAssessmentRow(section, probabilityAssessmentInput);
+ var sectionRow = new FailureMechanismSectionProbabilityAssessmentRow(section, double.NaN, double.NaN, probabilityAssessmentInput);
// Precondition
AssertLengthEffect(probabilityAssessmentInput, section, sectionRow);
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismSectionsProbabilityAssessmentViewTest.cs
===================================================================
diff -u -rbd4c3f207fb9181e32fa15d5faaf643366d6326a -r340fb4625cbca3ad4de3afed18923fc2c2d8af16
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismSectionsProbabilityAssessmentViewTest.cs (.../FailureMechanismSectionsProbabilityAssessmentViewTest.cs) (revision bd4c3f207fb9181e32fa15d5faaf643366d6326a)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismSectionsProbabilityAssessmentViewTest.cs (.../FailureMechanismSectionsProbabilityAssessmentViewTest.cs) (revision 340fb4625cbca3ad4de3afed18923fc2c2d8af16)
@@ -309,18 +309,28 @@
{
Assert.AreEqual(sections.Length, sectionsDataGridViewControl.Rows.Count);
+ double sectionStart = 0;
for (var i = 0; i < sectionsDataGridViewControl.Rows.Count; i++)
{
FailureMechanismSection section = sections[i];
DataGridViewCellCollection rowCells = sectionsDataGridViewControl.Rows[i].Cells;
Assert.AreEqual(section.Name, rowCells[nameColumnIndex].Value);
+
+ var sectionStartValue = (RoundedDouble)rowCells[sectionStartColumnIndex].Value;
+ Assert.AreEqual(sectionStart, sectionStartValue, sectionStartValue.GetAccuracy());
+ double sectionEnd = sectionStart + section.Length;
+ var sectionEndValue = (RoundedDouble)rowCells[sectionEndColumnIndex].Value;
+ Assert.AreEqual(sectionEnd, sectionEndValue, sectionEndValue.GetAccuracy());
+
var sectionLength = (RoundedDouble) rowCells[lengthColumnIndex].Value;
Assert.AreEqual(section.Length, sectionLength, sectionLength.GetAccuracy());
var lengthEffect = (RoundedDouble) rowCells[lengthEffectColumnIndex].Value;
Assert.AreEqual(probabilityAssessmentInput.GetN(section.Length), lengthEffect, lengthEffect.GetAccuracy());
+
+ sectionStart = sectionEnd;
}
}