Index: Riskeer/Common/src/Riskeer.Common.Data/FailureMechanism/IHasSectionResults.cs =================================================================== diff -u -rcc9cb91869b4f71b1b203e470c122b491a7bfef0 -r4f0ae1246338a2d71b440f08e16986256fe2c8b6 --- Riskeer/Common/src/Riskeer.Common.Data/FailureMechanism/IHasSectionResults.cs (.../IHasSectionResults.cs) (revision cc9cb91869b4f71b1b203e470c122b491a7bfef0) +++ Riskeer/Common/src/Riskeer.Common.Data/FailureMechanism/IHasSectionResults.cs (.../IHasSectionResults.cs) (revision 4f0ae1246338a2d71b440f08e16986256fe2c8b6) @@ -20,14 +20,15 @@ // All rights reserved. using Core.Common.Base; +using Riskeer.Common.Data.FailurePath; namespace Riskeer.Common.Data.FailureMechanism { /// - /// This interface describes an containing objects. + /// This interface describes an containing objects. /// /// The type of the section results. - public interface IHasSectionResults : IFailureMechanism + public interface IHasSectionResults : IFailurePath where T : FailureMechanismSectionResult { /// Index: Riskeer/Common/src/Riskeer.Common.Forms/Views/StructuresFailureMechanismResultView.cs =================================================================== diff -u -r8658d36cc32a7af5ea898721e85abe5985b52fb1 -r4f0ae1246338a2d71b440f08e16986256fe2c8b6 --- Riskeer/Common/src/Riskeer.Common.Forms/Views/StructuresFailureMechanismResultView.cs (.../StructuresFailureMechanismResultView.cs) (revision 8658d36cc32a7af5ea898721e85abe5985b52fb1) +++ Riskeer/Common/src/Riskeer.Common.Forms/Views/StructuresFailureMechanismResultView.cs (.../StructuresFailureMechanismResultView.cs) (revision 4f0ae1246338a2d71b440f08e16986256fe2c8b6) @@ -39,7 +39,7 @@ /// The type of failure mechanism. /// The type of input. public class StructuresFailureMechanismResultView : FailureMechanismResultView - where TFailureMechanism : IHasSectionResults, ICalculatableFailureMechanism + where TFailureMechanism : IHasSectionResults, ICalculatableFailureMechanism, IFailureMechanism where TStructuresInput : IStructuresCalculationInput, new() { private const int initialFailureMechanismResultTypeIndex = 2; Index: Riskeer/Integration/src/Riskeer.Integration.Data/FailurePath/SpecificFailurePath.cs =================================================================== diff -u -r1f5ad2cf529f57c118521f2a82deac32ec55bbd3 -r4f0ae1246338a2d71b440f08e16986256fe2c8b6 --- Riskeer/Integration/src/Riskeer.Integration.Data/FailurePath/SpecificFailurePath.cs (.../SpecificFailurePath.cs) (revision 1f5ad2cf529f57c118521f2a82deac32ec55bbd3) +++ Riskeer/Integration/src/Riskeer.Integration.Data/FailurePath/SpecificFailurePath.cs (.../SpecificFailurePath.cs) (revision 4f0ae1246338a2d71b440f08e16986256fe2c8b6) @@ -32,7 +32,7 @@ /// /// This class is the implementation for a specific failure path. /// - public class SpecificFailurePath : Observable, IFailurePath + public class SpecificFailurePath : Observable, IHasSectionResults { private readonly FailureMechanismSectionCollection sectionCollection; @@ -52,6 +52,7 @@ NotInAssemblyComments = new Comment(); AssemblyResult = new FailurePathAssemblyResult(); + SectionResults = new ObservableList(); } /// @@ -62,24 +63,12 @@ public string Name { get; set; } public string Code { get; set; } - - public IEnumerable Sections - { - get - { - return sectionCollection; - } - } + public IEnumerable Sections => sectionCollection; + public FailurePathAssemblyResult AssemblyResult { get; } - public string FailureMechanismSectionSourcePath - { - get - { - return sectionCollection.SourcePath; - } - } + public string FailureMechanismSectionSourcePath => sectionCollection.SourcePath; public Comment InAssemblyInputComments { get; } @@ -89,6 +78,8 @@ public bool InAssembly { get; set; } + public IObservableEnumerable SectionResults { get; } + public void SetSections(IEnumerable sections, string sourcePath) { if (sections == null) Index: Riskeer/Integration/test/Riskeer.Integration.Data.Test/FailurePath/SpecificFailurePathTest.cs =================================================================== diff -u -r1f5ad2cf529f57c118521f2a82deac32ec55bbd3 -r4f0ae1246338a2d71b440f08e16986256fe2c8b6 --- Riskeer/Integration/test/Riskeer.Integration.Data.Test/FailurePath/SpecificFailurePathTest.cs (.../SpecificFailurePathTest.cs) (revision 1f5ad2cf529f57c118521f2a82deac32ec55bbd3) +++ Riskeer/Integration/test/Riskeer.Integration.Data.Test/FailurePath/SpecificFailurePathTest.cs (.../SpecificFailurePathTest.cs) (revision 4f0ae1246338a2d71b440f08e16986256fe2c8b6) @@ -26,7 +26,6 @@ using Core.Common.TestUtil; using NUnit.Framework; using Riskeer.Common.Data.FailureMechanism; -using Riskeer.Common.Data.FailurePath; using Riskeer.Integration.Data.FailurePath; namespace Riskeer.Integration.Data.Test.FailurePath @@ -42,7 +41,7 @@ // Assert Assert.IsInstanceOf(failurePath); - Assert.IsInstanceOf(failurePath); + Assert.IsInstanceOf>(failurePath); Assert.AreEqual("Nieuw faalpad", failurePath.Name); Assert.AreEqual("NIEUW", failurePath.Code); Assert.IsNotNull(failurePath.Input); @@ -52,6 +51,7 @@ Assert.IsNotNull(failurePath.AssemblyResult); Assert.IsTrue(failurePath.InAssembly); CollectionAssert.IsEmpty(failurePath.Sections); + CollectionAssert.IsEmpty(failurePath.SectionResults); } [Test]