Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentProperties.cs =================================================================== diff -u -rdbc19eb83d1a3fc64a5f4f4bc2889583a65b4656 -rd17cff71645c0e605aaf84268caaad7c3d886da2 --- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentProperties.cs (.../FailureMechanismSectionsProbabilityAssessmentProperties.cs) (revision dbc19eb83d1a3fc64a5f4f4bc2889583a65b4656) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentProperties.cs (.../FailureMechanismSectionsProbabilityAssessmentProperties.cs) (revision d17cff71645c0e605aaf84268caaad7c3d886da2) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using System.Collections.Generic; using System.ComponentModel; using System.Linq; using Core.Common.Base; @@ -92,8 +93,17 @@ { get { - return data.Sections.Select(section => new FailureMechanismSectionProbabilityAssessmentProperties(section, 0, 0, - probabilityAssessmentInput)).ToArray(); + var properties = new List(); + double sectionStart = 0; + foreach (FailureMechanismSection section in data.Sections) + { + double sectionEnd = sectionStart + section.Length; + properties.Add(new FailureMechanismSectionProbabilityAssessmentProperties(section, sectionStart, sectionEnd, + probabilityAssessmentInput)); + sectionStart = sectionEnd; + } + + return properties.ToArray(); } } Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProperties.cs =================================================================== diff -u -rdbc19eb83d1a3fc64a5f4f4bc2889583a65b4656 -rd17cff71645c0e605aaf84268caaad7c3d886da2 --- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProperties.cs (.../FailureMechanismSectionsProperties.cs) (revision dbc19eb83d1a3fc64a5f4f4bc2889583a65b4656) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProperties.cs (.../FailureMechanismSectionsProperties.cs) (revision d17cff71645c0e605aaf84268caaad7c3d886da2) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using System.Collections.Generic; using System.ComponentModel; using System.Linq; using Core.Common.Base; @@ -81,7 +82,16 @@ { get { - return data.Sections.Select(section => new FailureMechanismSectionProperties(section, 0, 0)).ToArray(); + var properties = new List(); + double sectionStart = 0; + foreach (FailureMechanismSection section in data.Sections) + { + double sectionEnd = sectionStart + section.Length; + properties.Add(new FailureMechanismSectionProperties(section, sectionStart, sectionEnd)); + sectionStart = sectionEnd; + } + + return properties.ToArray(); } } Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentPropertiesTest.cs =================================================================== diff -u -rdbc19eb83d1a3fc64a5f4f4bc2889583a65b4656 -rd17cff71645c0e605aaf84268caaad7c3d886da2 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentPropertiesTest.cs (.../FailureMechanismSectionsProbabilityAssessmentPropertiesTest.cs) (revision dbc19eb83d1a3fc64a5f4f4bc2889583a65b4656) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentPropertiesTest.cs (.../FailureMechanismSectionsProbabilityAssessmentPropertiesTest.cs) (revision d17cff71645c0e605aaf84268caaad7c3d886da2) @@ -100,6 +100,8 @@ TestHelper.AssertTypeConverter( nameof(FailureMechanismSectionsProperties.Sections)); Assert.AreEqual(sections.Count(), properties.Sections.Length); + + double sectionStart = 0; for (var i = 0; i < sections.Count(); i++) { FailureMechanismSection section = sections.ElementAt(i); @@ -110,8 +112,10 @@ property.N, property.N.GetAccuracy()); - Assert.AreEqual(0, property.SectionStart, property.SectionStart.GetAccuracy()); - Assert.AreEqual(0, property.SectionEnd, property.SectionEnd.GetAccuracy()); + double sectionEnd = sectionStart + section.Length; + Assert.AreEqual(sectionStart, property.SectionStart, property.SectionStart.GetAccuracy()); + Assert.AreEqual(sectionEnd, property.SectionEnd, property.SectionEnd.GetAccuracy()); + sectionStart = sectionEnd; } Assert.AreEqual(sourcePath, properties.SourcePath); Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsPropertiesTest.cs =================================================================== diff -u -rdbc19eb83d1a3fc64a5f4f4bc2889583a65b4656 -rd17cff71645c0e605aaf84268caaad7c3d886da2 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsPropertiesTest.cs (.../FailureMechanismSectionsPropertiesTest.cs) (revision dbc19eb83d1a3fc64a5f4f4bc2889583a65b4656) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsPropertiesTest.cs (.../FailureMechanismSectionsPropertiesTest.cs) (revision d17cff71645c0e605aaf84268caaad7c3d886da2) @@ -1,4 +1,4 @@ -// Copyright (C) Stichting Deltares 2017. All rights reserved. +// Copyright (C) Stichting Deltares 2017. All rights reserved. // // This file is part of Ringtoets. // @@ -72,13 +72,18 @@ TestHelper.AssertTypeConverter( nameof(FailureMechanismSectionsProperties.Sections)); Assert.AreEqual(sections.Count(), properties.Sections.Length); + + double sectionStart = 0; for (var i = 0; i < sections.Count(); i++) { FailureMechanismSection section = sections.ElementAt(i); FailureMechanismSectionProperties property = properties.Sections[i]; Assert.AreSame(section, property.Data); - Assert.AreEqual(0, property.SectionStart, property.SectionStart.GetAccuracy()); - Assert.AreEqual(0, property.SectionEnd, property.SectionEnd.GetAccuracy()); + + double sectionEnd = sectionStart + section.Length; + Assert.AreEqual(sectionStart, property.SectionStart, property.SectionStart.GetAccuracy()); + Assert.AreEqual(sectionEnd, property.SectionEnd, property.SectionEnd.GetAccuracy()); + sectionStart = sectionEnd; } Assert.AreEqual(sourcePath, properties.SourcePath);