Index: Riskeer/Integration/src/Riskeer.Integration.Data/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactory.cs =================================================================== diff -u -ra551fd295b22ed3f86afc0ecbd724392f42b8afc -r307726ff27feb87b9ef962649f4292d8588fecd6 --- Riskeer/Integration/src/Riskeer.Integration.Data/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactory.cs (.../FailureMechanismAssemblyFactory.cs) (revision a551fd295b22ed3f86afc0ecbd724392f42b8afc) +++ Riskeer/Integration/src/Riskeer.Integration.Data/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactory.cs (.../FailureMechanismAssemblyFactory.cs) (revision 307726ff27feb87b9ef962649f4292d8588fecd6) @@ -35,38 +35,6 @@ public static class FailureMechanismAssemblyFactory { /// - /// Assembles the section based on the input arguments. - /// - /// The section result to assemble. - /// The failure mechanism the section result belongs to. - /// The the section belongs to. - /// A . - /// Thrown when any argument is null. - /// Thrown when the section could not be assembled. - public static FailureMechanismSectionAssemblyResultWrapper AssembleSection(NonAdoptableWithProfileProbabilityFailureMechanismSectionResult sectionResult, - IFailureMechanism failureMechanism, - IAssessmentSection assessmentSection) - { - if (sectionResult == null) - { - throw new ArgumentNullException(nameof(sectionResult)); - } - - if (failureMechanism == null) - { - throw new ArgumentNullException(nameof(failureMechanism)); - } - - if (assessmentSection == null) - { - throw new ArgumentNullException(nameof(assessmentSection)); - } - - return FailureMechanismSectionAssemblyResultFactory.AssembleSection( - sectionResult, assessmentSection, false); - } - - /// /// Assembles the failure mechanism based on its input arguments. /// /// The failure mechanism to assemble. @@ -78,7 +46,7 @@ /// Thrown when the failure mechanism cannot be assembled. public static FailureMechanismAssemblyResultWrapper AssembleFailureMechanism(TFailureMechanism failureMechanism, IAssessmentSection assessmentSection) - where TFailureMechanism : IFailureMechanism + where TFailureMechanism : IFailureMechanism { if (failureMechanism == null) { @@ -90,8 +58,8 @@ throw new ArgumentNullException(nameof(assessmentSection)); } - Func performSectionAssemblyFunc = sr => - AssembleSection(sr, failureMechanism, assessmentSection); + Func performSectionAssemblyFunc = sr => + FailureMechanismSectionAssemblyResultFactory.AssembleSection(sr, assessmentSection); return FailureMechanismAssemblyResultFactory.AssembleFailureMechanism( failureMechanism.SectionResults.Select(sr => AssemblyToolHelper.AssembleFailureMechanismSection(sr, performSectionAssemblyFunc)) Index: Riskeer/Integration/test/Riskeer.Integration.Data.Test/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactoryTest.cs =================================================================== diff -u -ra551fd295b22ed3f86afc0ecbd724392f42b8afc -r307726ff27feb87b9ef962649f4292d8588fecd6 --- Riskeer/Integration/test/Riskeer.Integration.Data.Test/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactoryTest.cs (.../FailureMechanismAssemblyFactoryTest.cs) (revision a551fd295b22ed3f86afc0ecbd724392f42b8afc) +++ Riskeer/Integration/test/Riskeer.Integration.Data.Test/StandAlone/AssemblyFactories/FailureMechanismAssemblyFactoryTest.cs (.../FailureMechanismAssemblyFactoryTest.cs) (revision 307726ff27feb87b9ef962649f4292d8588fecd6) @@ -21,7 +21,6 @@ using System; using System.Linq; -using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; using Riskeer.AssemblyTool.Data; @@ -30,11 +29,9 @@ using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators; using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly; using Riskeer.Common.Data.AssessmentSection; -using Riskeer.Common.Data.Contribution; using Riskeer.Common.Data.Exceptions; using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Data.TestUtil; -using Riskeer.Common.Primitives; using Riskeer.Integration.Data.StandAlone.AssemblyFactories; namespace Riskeer.Integration.Data.Test.StandAlone.AssemblyFactories @@ -47,162 +44,6 @@ public TestFailureMechanism() : base("Test", "Code") {} } - #region AssembleSection - - [Test] - public void AssembleSection_SectionResultNull_ThrowsArgumentNullException() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var failureMechanism = new TestFailureMechanism(); - - // Call - void Call() => FailureMechanismAssemblyFactory.AssembleSection(null, failureMechanism, assessmentSection); - - // Assert - var exception = Assert.Throws(Call); - Assert.AreEqual("sectionResult", exception.ParamName); - - mocks.VerifyAll(); - } - - [Test] - public void AssembleSection_FailureMechanismNull_ThrowsArgumentNullException() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); - var sectionResult = new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(section); - - // Call - void Call() => FailureMechanismAssemblyFactory.AssembleSection(sectionResult, null, assessmentSection); - - // Assert - var exception = Assert.Throws(Call); - Assert.AreEqual("failureMechanism", exception.ParamName); - - mocks.VerifyAll(); - } - - [Test] - public void AssembleSection_AssessmentSectionNull_ThrowsArgumentNullException() - { - // Setup - FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); - var sectionResult = new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(section); - - var failureMechanism = new TestFailureMechanism(); - - // Call - void Call() => FailureMechanismAssemblyFactory.AssembleSection(sectionResult, failureMechanism, null); - - // Assert - var exception = Assert.Throws(Call); - Assert.AreEqual("assessmentSection", exception.ParamName); - } - - [Test] - public void AssembleSection_WithInput_SetsInputOnCalculator() - { - // Setup - var random = new Random(21); - - FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); - var sectionResult = new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(section) - { - IsRelevant = random.NextBoolean(), - InitialFailureMechanismResultType = NonAdoptableInitialFailureMechanismResultType.Manual, - ManualInitialFailureMechanismResultSectionProbability = random.NextDouble(), - FurtherAnalysisType = random.NextEnumValue(), - RefinedSectionProbability = random.NextDouble() - }; - - var failureMechanism = new TestFailureMechanism(); - var assessmentSection = new AssessmentSectionStub(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - - // Call - FailureMechanismAssemblyFactory.AssembleSection(sectionResult, failureMechanism, assessmentSection); - - // Assert - FailureMechanismSectionAssemblyInput calculatorInput = calculator.FailureMechanismSectionAssemblyInput; - FailureMechanismContribution failureMechanismContribution = assessmentSection.FailureMechanismContribution; - Assert.AreEqual(failureMechanismContribution.SignalFloodingProbability, calculatorInput.SignalFloodingProbability); - Assert.AreEqual(failureMechanismContribution.MaximumAllowableFloodingProbability, calculatorInput.MaximumAllowableFloodingProbability); - - Assert.AreEqual(sectionResult.IsRelevant, calculatorInput.IsRelevant); - Assert.IsTrue(calculatorInput.HasProbabilitySpecified); - - Assert.AreEqual(sectionResult.ManualInitialFailureMechanismResultSectionProbability, calculatorInput.InitialSectionProbability); - Assert.AreEqual(sectionResult.FurtherAnalysisType, calculatorInput.FurtherAnalysisType); - Assert.AreEqual(sectionResult.RefinedSectionProbability, calculatorInput.RefinedSectionProbability); - } - } - - [Test] - public void AssembleSection_CalculatorRan_ReturnsExpectedOutput() - { - // Setup - FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); - var sectionResult = new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(section); - - var failureMechanism = new TestFailureMechanism(); - var assessmentSection = new AssessmentSectionStub(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - - // Call - FailureMechanismSectionAssemblyResultWrapper result = FailureMechanismAssemblyFactory.AssembleSection( - sectionResult, failureMechanism, assessmentSection); - - // Assert - Assert.AreSame(calculator.FailureMechanismSectionAssemblyResultOutput, result); - } - } - - [Test] - public void AssembleSection_CalculatorThrowsException_ThrowsAssemblyException() - { - // Setup - FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); - var sectionResult = new NonAdoptableWithProfileProbabilityFailureMechanismSectionResult(section); - - var failureMechanism = new TestFailureMechanism(); - var assessmentSection = new AssessmentSectionStub(); - - using (new AssemblyToolCalculatorFactoryConfig()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactory) AssemblyToolCalculatorFactory.Instance; - FailureMechanismSectionAssemblyCalculatorStub calculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - calculator.ThrowExceptionOnCalculate = true; - - // Call - void Call() => FailureMechanismAssemblyFactory.AssembleSection( - sectionResult, failureMechanism, assessmentSection); - - // Assert - var exception = Assert.Throws(Call); - Exception innerException = exception.InnerException; - Assert.IsInstanceOf(innerException); - Assert.AreEqual(innerException.Message, exception.Message); - } - } - - #endregion - #region AssembleFailureMechanism [Test]