Index: Riskeer/Common/src/Riskeer.Common.Data/FailureMechanism/IHasGeneralInput.cs =================================================================== diff -u -r8d79d512739df7278974068df239e1e6ccdb984c -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Common/src/Riskeer.Common.Data/FailureMechanism/IHasGeneralInput.cs (.../IHasGeneralInput.cs) (revision 8d79d512739df7278974068df239e1e6ccdb984c) +++ Riskeer/Common/src/Riskeer.Common.Data/FailureMechanism/IHasGeneralInput.cs (.../IHasGeneralInput.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -19,12 +19,14 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using Riskeer.Common.Data.FailurePath; + namespace Riskeer.Common.Data.FailureMechanism { /// - /// This interface describes an containing objects. + /// This interface describes an containing objects. /// - public interface IHasGeneralInput : IFailureMechanism + public interface IHasGeneralInput : IFailurePath { /// /// Gets the . Index: Riskeer/Common/src/Riskeer.Common.Data/FailurePath/SpecificFailurePath.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Common/src/Riskeer.Common.Data/FailurePath/SpecificFailurePath.cs (.../SpecificFailurePath.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Common/src/Riskeer.Common.Data/FailurePath/SpecificFailurePath.cs (.../SpecificFailurePath.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -30,7 +30,7 @@ /// /// This class is the implementation for a specific failure path. /// - public class SpecificFailurePath : Observable, IFailurePath + public class SpecificFailurePath : Observable, IFailurePath, IHasGeneralInput { private readonly FailureMechanismSectionCollection sectionCollection; private readonly ObservableList sectionResults; @@ -45,7 +45,7 @@ sectionCollection = new FailureMechanismSectionCollection(); InAssembly = true; - Input = new GeneralInput(); + GeneralInput = new GeneralInput(); InAssemblyInputComments = new Comment(); InAssemblyOutputComments = new Comment(); NotInAssemblyComments = new Comment(); @@ -54,11 +54,6 @@ sectionResults = new ObservableList(); } - /// - /// Gets the . - /// - public GeneralInput Input { get; } - public string Name { get; set; } public string Code { get; set; } @@ -79,6 +74,8 @@ public IObservableEnumerable SectionResults => sectionResults; + public GeneralInput GeneralInput { get; } + public void SetSections(IEnumerable sections, string sourcePath) { if (sections == null) Index: Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/FailureMechanismContext.cs =================================================================== diff -u -r33cd1d7a97d4fb49b252b0d4df3fa56b273625a1 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/FailureMechanismContext.cs (.../FailureMechanismContext.cs) (revision 33cd1d7a97d4fb49b252b0d4df3fa56b273625a1) +++ Riskeer/Common/src/Riskeer.Common.Forms/PresentationObjects/FailureMechanismContext.cs (.../FailureMechanismContext.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -22,17 +22,18 @@ using System; using Core.Common.Controls.PresentationObjects; using Riskeer.Common.Data.AssessmentSection; -using Riskeer.Common.Data.FailureMechanism; +using Riskeer.Common.Data.FailurePath; namespace Riskeer.Common.Forms.PresentationObjects { /// - /// This class is an abstract base presentation object for a instance. + /// This class is an abstract base presentation object for a instance. /// - public abstract class FailureMechanismContext : ObservableWrappedObjectContextBase, IFailurePathContext where T : IFailureMechanism + public abstract class FailureMechanismContext : ObservableWrappedObjectContextBase, IFailurePathContext + where T : IFailurePath { /// - /// Initializes a new instance of the class. + /// Creates a new instance of . /// /// The failure mechanism. /// The parent of . Index: Riskeer/Common/test/Riskeer.Common.Data.Test/FailurePath/SpecificFailurePathTest.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Common/test/Riskeer.Common.Data.Test/FailurePath/SpecificFailurePathTest.cs (.../SpecificFailurePathTest.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Common/test/Riskeer.Common.Data.Test/FailurePath/SpecificFailurePathTest.cs (.../SpecificFailurePathTest.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -42,9 +42,10 @@ // 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); + Assert.IsNotNull(failurePath.GeneralInput); Assert.IsNotNull(failurePath.InAssemblyInputComments); Assert.IsNotNull(failurePath.InAssemblyOutputComments); Assert.IsNotNull(failurePath.NotInAssemblyComments); Index: Riskeer/Integration/src/Riskeer.Integration.Forms/PropertyClasses/SpecificFailurePathProperties.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Integration/src/Riskeer.Integration.Forms/PropertyClasses/SpecificFailurePathProperties.cs (.../SpecificFailurePathProperties.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Integration/src/Riskeer.Integration.Forms/PropertyClasses/SpecificFailurePathProperties.cs (.../SpecificFailurePathProperties.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -127,13 +127,10 @@ [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.FailureMechanism_N_Description))] public RoundedDouble N { - get - { - return data.Input.N; - } + get => data.GeneralInput.N; set { - data.Input.N = value; + data.GeneralInput.N = value; data.NotifyObservers(); } } @@ -145,13 +142,10 @@ [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.FailurePath_ApplyLengthEffectInSection_Description))] public bool ApplyLengthEffectInSection { - get - { - return data.Input.ApplyLengthEffectInSection; - } + get => data.GeneralInput.ApplyLengthEffectInSection; set { - data.Input.ApplyLengthEffectInSection = value; + data.GeneralInput.ApplyLengthEffectInSection = value; data.NotifyObservers(); } } Index: Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyResultRow.cs =================================================================== diff -u -r46d7b2777d17cf40089201054d722bce6398717d -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyResultRow.cs (.../FailureMechanismAssemblyResultRow.cs) (revision 46d7b2777d17cf40089201054d722bce6398717d) +++ Riskeer/Integration/src/Riskeer.Integration.Forms/Views/FailureMechanismAssemblyResultRow.cs (.../FailureMechanismAssemblyResultRow.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -25,6 +25,7 @@ using Core.Common.Controls.DataGrid; using Riskeer.Common.Data.Exceptions; using Riskeer.Common.Data.FailureMechanism; +using Riskeer.Common.Data.FailurePath; using Riskeer.Common.Forms.TypeConverters; namespace Riskeer.Integration.Forms.Views @@ -36,16 +37,16 @@ internal class FailureMechanismAssemblyResultRow : IHasColumnStateDefinitions { private const int probabilityIndex = 2; - private readonly IFailureMechanism failureMechanism; + private readonly IFailurePath failureMechanism; private readonly Func performAssemblyFunc; /// /// Creates a new instance of . /// - /// The to wrap so that it can be displayed as a row. + /// The to wrap so that it can be displayed as a row. /// The used to assemble the result of a failure mechanism. /// Thrown when any parameters is null. - public FailureMechanismAssemblyResultRow(IFailureMechanism failureMechanism, + public FailureMechanismAssemblyResultRow(IFailurePath failureMechanism, Func performAssemblyFunc) { if (failureMechanism == null) Index: Riskeer/Integration/test/Riskeer.Integration.Forms.Test/PropertyClasses/SpecificFailurePathPropertiesTest.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Integration/test/Riskeer.Integration.Forms.Test/PropertyClasses/SpecificFailurePathPropertiesTest.cs (.../SpecificFailurePathPropertiesTest.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Integration/test/Riskeer.Integration.Forms.Test/PropertyClasses/SpecificFailurePathPropertiesTest.cs (.../SpecificFailurePathPropertiesTest.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -63,7 +63,7 @@ var failurePath = new SpecificFailurePath { InAssembly = random.NextBoolean(), - Input = + GeneralInput = { ApplyLengthEffectInSection = random.NextBoolean() } @@ -78,10 +78,10 @@ Assert.AreEqual(failurePath.Code, properties.Code); Assert.AreEqual(failurePath.InAssembly, properties.InAssembly); - GeneralInput input = failurePath.Input; + GeneralInput input = failurePath.GeneralInput; Assert.AreEqual(2, properties.N.NumberOfDecimalPlaces); Assert.AreEqual(input.N, properties.N, properties.N.GetAccuracy()); - Assert.AreEqual(failurePath.Input.ApplyLengthEffectInSection, properties.ApplyLengthEffectInSection); + Assert.AreEqual(input.ApplyLengthEffectInSection, properties.ApplyLengthEffectInSection); } [Test] @@ -206,7 +206,7 @@ Assert.AreEqual(newName, failurePath.Name); Assert.AreEqual(newCode, failurePath.Code); - GeneralInput input = failurePath.Input; + GeneralInput input = failurePath.GeneralInput; Assert.AreEqual(newN, input.N, input.N.GetAccuracy()); mocks.VerifyAll(); @@ -257,7 +257,7 @@ properties.ApplyLengthEffectInSection = true; // Assert - Assert.IsTrue(failureMechanism.Input.ApplyLengthEffectInSection); + Assert.IsTrue(failureMechanism.GeneralInput.ApplyLengthEffectInSection); mocks.VerifyAll(); } Index: Riskeer/Storage/src/Riskeer.Storage.Core/Create/FailurePathCreateExtensions.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Storage/src/Riskeer.Storage.Core/Create/FailurePathCreateExtensions.cs (.../FailurePathCreateExtensions.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Storage/src/Riskeer.Storage.Core/Create/FailurePathCreateExtensions.cs (.../FailurePathCreateExtensions.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -73,8 +73,8 @@ entity.Name = specificFailurePath.Name.DeepClone(); entity.Code = specificFailurePath.Code.DeepClone(); entity.Order = order; - entity.N = specificFailurePath.Input.N; - entity.ApplyLengthEffectInSection = Convert.ToByte(specificFailurePath.Input.ApplyLengthEffectInSection); + entity.N = specificFailurePath.GeneralInput.N; + entity.ApplyLengthEffectInSection = Convert.ToByte(specificFailurePath.GeneralInput.ApplyLengthEffectInSection); return entity; } Index: Riskeer/Storage/src/Riskeer.Storage.Core/Read/FailurePathEntityReadExtensions.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Storage/src/Riskeer.Storage.Core/Read/FailurePathEntityReadExtensions.cs (.../FailurePathEntityReadExtensions.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Storage/src/Riskeer.Storage.Core/Read/FailurePathEntityReadExtensions.cs (.../FailurePathEntityReadExtensions.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -87,7 +87,7 @@ { Name = entity.Name, Code = entity.Code, - Input = + GeneralInput = { N = (RoundedDouble) entity.N, ApplyLengthEffectInSection = Convert.ToBoolean(entity.ApplyLengthEffectInSection) Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/FailurePathCreateExtensionsTest.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/FailurePathCreateExtensionsTest.cs (.../FailurePathCreateExtensionsTest.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/FailurePathCreateExtensionsTest.cs (.../FailurePathCreateExtensionsTest.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -218,7 +218,7 @@ var failurePath = new SpecificFailurePath { - Input = + GeneralInput = { N = random.NextRoundedDouble(1, 20), ApplyLengthEffectInSection = random.NextBoolean() @@ -238,8 +238,8 @@ // Assert Assert.AreEqual(order, entity.Order); - Assert.AreEqual(failurePath.Input.N, entity.N); - Assert.AreEqual(Convert.ToByte(failurePath.Input.ApplyLengthEffectInSection), entity.ApplyLengthEffectInSection); + Assert.AreEqual(failurePath.GeneralInput.N, entity.N); + Assert.AreEqual(Convert.ToByte(failurePath.GeneralInput.ApplyLengthEffectInSection), entity.ApplyLengthEffectInSection); Assert.IsNull(entity.FailureMechanismSectionCollectionSourcePath); CollectionAssert.IsEmpty(entity.FailureMechanismSectionEntities); Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -700,7 +700,7 @@ Assert.AreEqual(expected.FailureMechanismSectionSourcePath, actual.FailureMechanismSectionSourcePath); AssertFailureMechanismSections(expected.Sections, actual.Sections); - Assert.AreEqual(expected.Input.N, actual.Input.N); + Assert.AreEqual(expected.GeneralInput.N, actual.GeneralInput.N); AssertFailurePathAssemblyResult(expected.AssemblyResult, actual.AssemblyResult); } Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -1062,24 +1062,24 @@ AssessmentSection section = entity.Read(collector); // Assert - var specificFailurePath1 = section.SpecificFailurePaths[0] as SpecificFailurePath; + SpecificFailurePath specificFailurePath1 = section.SpecificFailurePaths[0]; Assert.IsNotNull(specificFailurePath1); Assert.AreEqual(name1, specificFailurePath1.Name); Assert.AreEqual(inAssembly1, specificFailurePath1.InAssembly); Assert.AreEqual(inAssemblyInputComments1, specificFailurePath1.InAssemblyInputComments.Body); Assert.AreEqual(inAssemblyOutputComments1, specificFailurePath1.InAssemblyOutputComments.Body); Assert.AreEqual(notInAssemblyComments1, specificFailurePath1.NotInAssemblyComments.Body); - Assert.AreEqual(n1, specificFailurePath1.Input.N, specificFailurePath1.Input.N.GetAccuracy()); + Assert.AreEqual(n1, specificFailurePath1.GeneralInput.N, specificFailurePath1.GeneralInput.N.GetAccuracy()); Assert.IsNull(specificFailurePath1.FailureMechanismSectionSourcePath); - var specificFailurePath2 = section.SpecificFailurePaths[1] as SpecificFailurePath; + SpecificFailurePath specificFailurePath2 = section.SpecificFailurePaths[1]; Assert.IsNotNull(specificFailurePath2); Assert.AreEqual(name2, specificFailurePath2.Name); Assert.AreEqual(inAssembly2, specificFailurePath2.InAssembly); Assert.AreEqual(inAssemblyInputComments2, specificFailurePath2.InAssemblyInputComments.Body); Assert.AreEqual(inAssemblyOutputComments2, specificFailurePath2.InAssemblyOutputComments.Body); Assert.AreEqual(notInAssemblyComments2, specificFailurePath2.NotInAssemblyComments.Body); - Assert.AreEqual(n2, specificFailurePath2.Input.N, specificFailurePath2.Input.N.GetAccuracy()); + Assert.AreEqual(n2, specificFailurePath2.GeneralInput.N, specificFailurePath2.GeneralInput.N.GetAccuracy()); Assert.IsNull(specificFailurePath2.FailureMechanismSectionSourcePath); } @@ -1233,10 +1233,11 @@ }; } - private static void AssertFailureMechanismEqual(bool expectedInAssembly, - string expectedInAssemblyInputComments, string expectedInAssemblyOutputComments, - string expectedNotInAssemblyComments, string expectedCalculationsInputComments, - IHasGeneralInput failureMechanism, double n) + private static void AssertFailureMechanismEqual(bool expectedInAssembly, + string expectedInAssemblyInputComments, string expectedInAssemblyOutputComments, + string expectedNotInAssemblyComments, string expectedCalculationsInputComments, + T failureMechanism, double n) + where T : IFailureMechanism, IHasGeneralInput { Assert.AreEqual(expectedInAssembly, failureMechanism.InAssembly); Assert.AreEqual(expectedInAssemblyInputComments, failureMechanism.InAssemblyInputComments.Body); Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/FailurePathEntityReadExtensionsTest.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/FailurePathEntityReadExtensionsTest.cs (.../FailurePathEntityReadExtensionsTest.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Read/FailurePathEntityReadExtensionsTest.cs (.../FailurePathEntityReadExtensionsTest.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -231,8 +231,8 @@ Assert.AreEqual(entity.FailureMechanismSectionEntities.Count, specificFailurePath.Sections.Count()); Assert.AreEqual(filePath, specificFailurePath.FailureMechanismSectionSourcePath); - Assert.AreEqual(entity.N, specificFailurePath.Input.N, specificFailurePath.Input.N.GetAccuracy()); - Assert.AreEqual(Convert.ToBoolean(entity.ApplyLengthEffectInSection), specificFailurePath.Input.ApplyLengthEffectInSection); + Assert.AreEqual(entity.N, specificFailurePath.GeneralInput.N, specificFailurePath.GeneralInput.N.GetAccuracy()); + Assert.AreEqual(Convert.ToBoolean(entity.ApplyLengthEffectInSection), specificFailurePath.GeneralInput.ApplyLengthEffectInSection); } [Test] Index: Riskeer/Storage/test/Riskeer.Storage.Core.TestUtil/RiskeerProjectTestHelper.cs =================================================================== diff -u -raddf6da98661442a8e3b3a162241981a8a135db0 -r965c72422cb75e67c3e6e014ab8f5b76a8adc600 --- Riskeer/Storage/test/Riskeer.Storage.Core.TestUtil/RiskeerProjectTestHelper.cs (.../RiskeerProjectTestHelper.cs) (revision addf6da98661442a8e3b3a162241981a8a135db0) +++ Riskeer/Storage/test/Riskeer.Storage.Core.TestUtil/RiskeerProjectTestHelper.cs (.../RiskeerProjectTestHelper.cs) (revision 965c72422cb75e67c3e6e014ab8f5b76a8adc600) @@ -542,7 +542,7 @@ foreach (SpecificFailurePath failurePath in specificFailurePaths) { var random = new Random(i); - failurePath.Input.N = random.NextRoundedDouble(1, 20); + failurePath.GeneralInput.N = random.NextRoundedDouble(1, 20); failurePath.Name = $"Path {i}"; failurePath.InAssembly = random.NextBoolean();