Index: Riskeer/Integration/src/Riskeer.Integration.Data/Assembly/AssessmentSectionAssemblyFactory.cs =================================================================== diff -u -r0d1eb93c536da17bfb1fd47333cc48e9179159f0 -rf563394700bcbcf5eb13615972f0beb72b0a0894 --- Riskeer/Integration/src/Riskeer.Integration.Data/Assembly/AssessmentSectionAssemblyFactory.cs (.../AssessmentSectionAssemblyFactory.cs) (revision 0d1eb93c536da17bfb1fd47333cc48e9179159f0) +++ Riskeer/Integration/src/Riskeer.Integration.Data/Assembly/AssessmentSectionAssemblyFactory.cs (.../AssessmentSectionAssemblyFactory.cs) (revision f563394700bcbcf5eb13615972f0beb72b0a0894) @@ -50,79 +50,6 @@ public static class AssessmentSectionAssemblyFactory { /// - /// Assembles the results of the failure mechanisms with probability within the assessment sections. - /// - /// The assessment section which contains the failure mechanisms to assemble for. - /// Indicator that determines whether the manual assembly should be considered when assembling the result. - /// A . - /// Thrown when is null. - /// Thrown when cannot be created. - public static FailureMechanismAssembly AssembleFailureMechanismsWithProbability(AssessmentSection assessmentSection, - bool useManual) - { - if (assessmentSection == null) - { - throw new ArgumentNullException(nameof(assessmentSection)); - } - - try - { - IAssemblyToolCalculatorFactoryOld calculatorFactory = AssemblyToolCalculatorFactoryOld.Instance; - IAssessmentSectionAssemblyCalculatorOld calculator = - calculatorFactory.CreateAssessmentSectionAssemblyCalculator(AssemblyToolKernelFactoryOld.Instance); - - FailureMechanismContribution failureMechanismContribution = assessmentSection.FailureMechanismContribution; - return calculator.AssembleFailureMechanisms(GetFailureMechanismWithProbabilityAssemblyResults(assessmentSection, useManual), - failureMechanismContribution.SignalingNorm, - failureMechanismContribution.LowerLimitNorm, - assessmentSection.FailureProbabilityMarginFactor); - } - catch (AssessmentSectionAssemblyCalculatorException e) - { - throw new AssemblyException(e.Message, e); - } - catch (AssemblyException e) - { - throw new AssemblyException(Resources.AssessmentSectionAssemblyFactory_Error_while_assembling_failureMechanims, e); - } - } - - /// - /// Assembles the results of failure mechanisms without probability within the assessment section. - /// - /// The assessment section which contains the failure mechanisms to assemble for. - /// Indicator that determines whether the manual assembly should be considered when assembling the result. - /// A . - /// Thrown when is null. - /// Thrown when cannot be created. - public static FailureMechanismAssemblyCategoryGroup AssembleFailureMechanismsWithoutProbability(AssessmentSection assessmentSection, - bool useManual) - { - if (assessmentSection == null) - { - throw new ArgumentNullException(nameof(assessmentSection)); - } - - try - { - IAssemblyToolCalculatorFactoryOld calculatorFactory = AssemblyToolCalculatorFactoryOld.Instance; - IAssessmentSectionAssemblyCalculatorOld calculator = - calculatorFactory.CreateAssessmentSectionAssemblyCalculator(AssemblyToolKernelFactoryOld.Instance); - - return calculator.AssembleFailureMechanisms(GetFailureMechanismsWithoutProbabilityAssemblyResults(assessmentSection, - useManual)); - } - catch (AssessmentSectionAssemblyCalculatorException e) - { - throw new AssemblyException(e.Message, e); - } - catch (AssemblyException e) - { - throw new AssemblyException(Resources.AssessmentSectionAssemblyFactory_Error_while_assembling_failureMechanims, e); - } - } - - /// /// Assembles the assessment section. /// /// The assessment section which contains the failure mechanisms to assemble for. @@ -155,38 +82,7 @@ throw new AssemblyException(Resources.AssessmentSectionAssemblyFactory_Error_while_assembling_failureMechanims, e); } } - - /// - /// Assembles the assessment section. - /// - /// The assessment section which contains the failure mechanisms to assemble for. - /// Indicator that determines whether the manual assembly should be considered when assembling the result. - /// A . - /// Thrown when is null. - /// Thrown when cannot be created. - public static AssessmentSectionAssemblyCategoryGroup AssembleAssessmentSection(AssessmentSection assessmentSection, - bool useManual) - { - if (assessmentSection == null) - { - throw new ArgumentNullException(nameof(assessmentSection)); - } - try - { - IAssemblyToolCalculatorFactoryOld calculatorFactory = AssemblyToolCalculatorFactoryOld.Instance; - IAssessmentSectionAssemblyCalculatorOld calculator = - calculatorFactory.CreateAssessmentSectionAssemblyCalculator(AssemblyToolKernelFactoryOld.Instance); - - return calculator.AssembleAssessmentSection(AssembleFailureMechanismsWithoutProbability(assessmentSection, useManual), - AssembleFailureMechanismsWithProbability(assessmentSection, useManual)); - } - catch (AssessmentSectionAssemblyCalculatorException e) - { - throw new AssemblyException(e.Message, e); - } - } - /// /// Assembles the combined failure mechanism sections. /// @@ -264,36 +160,5 @@ StandAloneFailureMechanismAssemblyFactory.AssembleFailureMechanism(assessmentSection.WaterPressureAsphaltCover, assessmentSection) }; } - - private static IEnumerable GetFailureMechanismWithProbabilityAssemblyResults(AssessmentSection assessmentSection, - bool useManual) - { - return new[] - { - GrassCoverErosionInwardsFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.GrassCoverErosionInwards, assessmentSection, useManual), - HeightStructuresFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.HeightStructures, assessmentSection, useManual), - ClosingStructuresFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.ClosingStructures, assessmentSection, useManual), - StabilityPointStructuresFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.StabilityPointStructures, assessmentSection, useManual), - PipingFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.Piping, assessmentSection, useManual), - MacroStabilityInwardsFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.MacroStabilityInwards, assessmentSection, useManual) - }; - } - - private static IEnumerable GetFailureMechanismsWithoutProbabilityAssemblyResults(AssessmentSection assessmentSection, - bool useManual) - { - return new[] - { - StabilityStoneCoverFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.StabilityStoneCover, useManual), - WaveImpactAsphaltCoverFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.WaveImpactAsphaltCover, useManual), - GrassCoverErosionOutwardsFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.GrassCoverErosionOutwards, useManual), - DuneErosionFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.DuneErosion, useManual), - MicrostabilityFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.Microstability, useManual), - WaterPressureAsphaltCoverFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.WaterPressureAsphaltCover, useManual), - GrassCoverSlipOffOutwardsFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.GrassCoverSlipOffOutwards, useManual), - GrassCoverSlipOffInwardsFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.GrassCoverSlipOffInwards, useManual), - PipingStructureFailureMechanismAssemblyFactoryOld.AssembleFailureMechanism(assessmentSection.PipingStructure, useManual) - }; - } } } \ No newline at end of file Index: Riskeer/Integration/test/Riskeer.Integration.Data.Test/Assembly/AssessmentSectionAssemblyFactoryTest.cs =================================================================== diff -u -r56c67547623e965d4342f435469cf29f2bcf8a88 -rf563394700bcbcf5eb13615972f0beb72b0a0894 --- Riskeer/Integration/test/Riskeer.Integration.Data.Test/Assembly/AssessmentSectionAssemblyFactoryTest.cs (.../AssessmentSectionAssemblyFactoryTest.cs) (revision 56c67547623e965d4342f435469cf29f2bcf8a88) +++ Riskeer/Integration/test/Riskeer.Integration.Data.Test/Assembly/AssessmentSectionAssemblyFactoryTest.cs (.../AssessmentSectionAssemblyFactoryTest.cs) (revision f563394700bcbcf5eb13615972f0beb72b0a0894) @@ -30,406 +30,18 @@ using Riskeer.AssemblyTool.KernelWrapper.Calculators.Assembly; using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators; using Riskeer.AssemblyTool.KernelWrapper.TestUtil.Calculators.Assembly; -using Riskeer.Common.Data.AssemblyTool; 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.DuneErosion.Data; -using Riskeer.GrassCoverErosionOutwards.Data; using Riskeer.Integration.Data.Assembly; -using Riskeer.Integration.Data.StandAlone; -using Riskeer.Integration.Data.TestUtil; using Riskeer.Integration.TestUtil; -using Riskeer.Piping.Data; -using Riskeer.StabilityStoneCover.Data; -using Riskeer.WaveImpactAsphaltCover.Data; namespace Riskeer.Integration.Data.Test.Assembly { [TestFixture] public class AssessmentSectionAssemblyFactoryTest { - #region Assemble Failure Mechanisms With Probability - - [Test] - public void AssembleFailureMechanismsWithProbability_AssessmentSectionNull_ThrowsArgumentNullException() - { - // Call - TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(null, new Random(39).NextBoolean()); - - // Assert - var exception = Assert.Throws(call); - Assert.AreEqual("assessmentSection", exception.ParamName); - } - - [Test] - public void AssembleFailureMechanismsWithProbability_WithAssessmentSectionWithoutManualSectionAssemblyResults_SetsInputOnCalculator() - { - // Setup - var random = new Random(21); - AssessmentSection assessmentSection = CreateAssessmentSection(); - - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - failureMechanismAssemblyCalculator.FailureMechanismAssemblyOutput = new FailureMechanismAssembly( - random.NextDouble(), random.NextEnumValue()); - - AssessmentSectionAssemblyCalculatorStubOld assessmentSectionAssemblyCalculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; - - // Call - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, - random.NextBoolean()); - - // Assert - FailureMechanismContribution failureMechanismContribution = assessmentSection.FailureMechanismContribution; - Assert.AreEqual(failureMechanismContribution.LowerLimitNorm, assessmentSectionAssemblyCalculator.LowerLimitNormInput); - Assert.AreEqual(failureMechanismContribution.SignalingNorm, assessmentSectionAssemblyCalculator.SignalingNormInput); - Assert.AreEqual(assessmentSection.FailureProbabilityMarginFactor, assessmentSectionAssemblyCalculator.FailureProbabilityMarginFactorInput); - - AssertGroup1And2FailureMechanismInputs(assessmentSection, - failureMechanismAssemblyCalculator.FailureMechanismAssemblyOutput, - assessmentSectionAssemblyCalculator); - } - } - - [Test] - public void AssembleFailureMechanismsWithProbability_AssemblyRan_ReturnsOutput() - { - // Setup - var random = new Random(21); - AssessmentSection assessmentSection = CreateAssessmentSection(); - - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; - calculator.AssembleFailureMechanismsAssemblyOutput = new FailureMechanismAssembly( - random.NextDouble(), random.NextEnumValue()); - - // Call - FailureMechanismAssembly output = AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, - random.NextBoolean()); - - // Assert - Assert.AreSame(calculator.AssembleFailureMechanismsAssemblyOutput, output); - } - } - - [Test] - public void AssembleFailureMechanismsWithProbability_CalculatorThrowsException_ThrowsAssemblyException() - { - // Setup - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; - calculator.ThrowExceptionOnCalculate = true; - - // Call - TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(CreateAssessmentSection(), - new Random(39).NextBoolean()); - - // Assert - var exception = Assert.Throws(call); - Exception innerException = exception.InnerException; - Assert.IsInstanceOf(innerException); - Assert.AreEqual(innerException.Message, exception.Message); - } - } - - [Test] - public void AssembleFailureMechanismsWithProbability_FailureMechanismCalculatorThrowsException_ThrowsAssemblyException() - { - // Setup - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismAssemblyCalculatorOldStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - calculator.ThrowExceptionOnCalculate = true; - - // Call - TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(CreateAssessmentSection(), - new Random(39).NextBoolean()); - - // Assert - var exception = Assert.Throws(call); - Exception innerException = exception.InnerException; - Assert.IsInstanceOf(innerException); - Assert.AreEqual("Voor een of meerdere toetssporen kan geen oordeel worden bepaald.", exception.Message); - } - } - - #region Manual Assembly Used - - [Test] - [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetAssessmentSectionWithoutConfiguredFailureMechanismWithProbability))] - public void AssembleFailureMechanismsWithProbability_FailureMechanismWithManualSectionAssemblyAndUseManualTrue_SetsManualAssemblyInputOnCalculator(AssessmentSection assessmentSection) - { - // Setup - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - // Call - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, true); - - // Assert - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - Assert.AreSame(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput, failureMechanismAssemblyCalculator.FailureMechanismSectionAssemblies.Single()); - } - } - - [Test] - [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetAssessmentSectionWithoutConfiguredFailureMechanismWithProbability))] - public void AssembleFailureMechanismsWithProbability_FailureMechanismWithManualSectionAssemblyAndUseManualFalse_SetsAssemblyInputOnCalculator(AssessmentSection assessmentSection) - { - // Setup - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - // Call - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithProbability(assessmentSection, false); - - // Assert - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - Assert.AreSame(failureMechanismSectionAssemblyCalculator.CombinedAssemblyOutput, failureMechanismAssemblyCalculator.FailureMechanismSectionAssemblies.Single()); - } - } - - #endregion - - #endregion - - #region Assemble Failure Mechanisms Without Probability - - [Test] - public void AssembleFailureMechanismsWithoutProbability_AssessmentSectionNull_ThrowsArgumentNullException() - { - // Call - TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(null, - new Random(39).NextBoolean()); - - // Assert - var exception = Assert.Throws(call); - Assert.AreEqual("assessmentSection", exception.ParamName); - } - - [Test] - public void AssembleFailureMechanismsWithoutProbability_WithAssessmentSectionWithoutManualSectionAssemblyResults_SetsInputOnCalculator() - { - // Setup - var random = new Random(21); - AssessmentSection assessmentSection = CreateAssessmentSection(); - - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - failureMechanismAssemblyCalculator.FailureMechanismAssemblyCategoryGroupOutput = random.NextEnumValue(); - - AssessmentSectionAssemblyCalculatorStubOld assessmentSectionAssemblyCalculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; - - // Call - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(assessmentSection, random.NextBoolean()); - - // Assert - AssertGroup3And4FailureMechanismInputs(assessmentSection, - failureMechanismAssemblyCalculator.FailureMechanismAssemblyCategoryGroupOutput.Value, - assessmentSectionAssemblyCalculator); - } - } - - [Test] - public void AssembleFailureMechanismsWithoutProbability_AssemblyRan_ReturnsOutput() - { - // Setup - var random = new Random(21); - AssessmentSection assessmentSection = CreateAssessmentSection(); - - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; - calculator.AssembleFailureMechanismsAssemblyCategoryGroupOutput = random.NextEnumValue(); - - // Call - FailureMechanismAssemblyCategoryGroup output = AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(assessmentSection, - random.NextBoolean()); - - // Assert - Assert.AreEqual(calculator.AssembleFailureMechanismsAssemblyCategoryGroupOutput, output); - } - } - - [Test] - public void AssembleFailureMechanismsWithoutProbability_CalculatorThrowsException_ThrowsAssemblyException() - { - // Setup - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; - calculator.ThrowExceptionOnCalculate = true; - - // Call - TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(CreateAssessmentSection(), - new Random(39).NextBoolean()); - - // Assert - var exception = Assert.Throws(call); - Exception innerException = exception.InnerException; - Assert.IsInstanceOf(innerException); - Assert.AreEqual(innerException.Message, exception.Message); - } - } - - [Test] - public void AssembleFailureMechanismsWithoutProbability_FailureMechanismCalculatorThrowsException_ThrowsAssemblyException() - { - // Setup - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismAssemblyCalculatorOldStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - calculator.ThrowExceptionOnCalculate = true; - - // Call - TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(CreateAssessmentSection(), - new Random(39).NextBoolean()); - - // Assert - var exception = Assert.Throws(call); - Exception innerException = exception.InnerException; - Assert.IsInstanceOf(innerException); - Assert.AreEqual("Voor een of meerdere toetssporen kan geen oordeel worden bepaald.", exception.Message); - } - } - - #region Manual Assembly Used - - [Test] - [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetAssessmentSectionWithConfiguredFailureMechanismsWithoutProbability))] - public void AssembleFailureMechanismsWithoutProbability_FailureMechanismWithManualSectionAssemblyAndUseManualTrue_SetsManualAssemblyInputOnCalculator(AssessmentSection assessmentSection, - IFailureMechanism failureMechanismInAssembly) - { - // Setup - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - // Call - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(assessmentSection, true); - - // Assert - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - AssertFailureMechanismsWithoutProbabilityManualAssemblyCalculatorInput(failureMechanismInAssembly, failureMechanismAssemblyCalculator); - } - } - - [Test] - [TestCaseSource(typeof(AssessmentSectionAssemblyTestHelper), nameof(AssessmentSectionAssemblyTestHelper.GetAssessmentSectionWithoutConfiguredFailureMechanismWithoutProbability))] - public void AssembleFailureMechanismsWithoutProbability_FailureMechanismWithManualSectionAssemblyAndUseManualFalse_SetsAssemblyInputOnCalculator(AssessmentSection assessmentSection) - { - // Setup - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - // Call - AssessmentSectionAssemblyFactory.AssembleFailureMechanismsWithoutProbability(assessmentSection, false); - - // Assert - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(failureMechanismSectionAssemblyCalculator.CombinedAssemblyCategoryOutput, failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - } - } - - private static void AssertFailureMechanismsWithoutProbabilityManualAssemblyCalculatorInput(IFailureMechanism failureMechanism, - FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator) - { - var duneErosion = failureMechanism as DuneErosionFailureMechanism; - if (duneErosion != null) - { - Assert.AreEqual(GetFailureMechanismSectionResult(duneErosion).ManualAssemblyCategoryGroup, - failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - return; - } - - var grassCoverErosionOutwards = failureMechanism as GrassCoverErosionOutwardsFailureMechanism; - if (grassCoverErosionOutwards != null) - { - Assert.AreEqual(GetFailureMechanismSectionResult(grassCoverErosionOutwards).ManualAssemblyCategoryGroup, - failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - return; - } - - var stabilityStoneCover = failureMechanism as StabilityStoneCoverFailureMechanism; - if (stabilityStoneCover != null) - { - Assert.AreEqual(GetFailureMechanismSectionResult(stabilityStoneCover).ManualAssemblyCategoryGroup, - failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - return; - } - - var waveImpactAsphaltCover = failureMechanism as WaveImpactAsphaltCoverFailureMechanism; - if (waveImpactAsphaltCover != null) - { - Assert.AreEqual(GetFailureMechanismSectionResult(waveImpactAsphaltCover).ManualAssemblyCategoryGroup, - failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - return; - } - - var grassCoverSlipOffInwards = failureMechanism as GrassCoverSlipOffInwardsFailureMechanism; - if (grassCoverSlipOffInwards != null) - { - Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(GetFailureMechanismSectionResult(grassCoverSlipOffInwards).ManualAssemblyCategoryGroup), - failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - return; - } - - var grassCoverSlipOffOutwards = failureMechanism as GrassCoverSlipOffOutwardsFailureMechanism; - if (grassCoverSlipOffOutwards != null) - { - Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(GetFailureMechanismSectionResult(grassCoverSlipOffOutwards).ManualAssemblyCategoryGroup), - failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - return; - } - - var pipingStructure = failureMechanism as PipingStructureFailureMechanism; - if (pipingStructure != null) - { - Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(GetFailureMechanismSectionResult(pipingStructure).ManualAssemblyCategoryGroup), - failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - return; - } - - var microStability = failureMechanism as MicrostabilityFailureMechanism; - if (microStability != null) - { - Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(GetFailureMechanismSectionResult(microStability).ManualAssemblyCategoryGroup), - failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - return; - } - - var waterPressureAsphaltCover = failureMechanism as WaterPressureAsphaltCoverFailureMechanism; - if (waterPressureAsphaltCover != null) - { - Assert.AreEqual(ManualFailureMechanismSectionAssemblyCategoryGroupConverter.Convert(GetFailureMechanismSectionResult(waterPressureAsphaltCover).ManualAssemblyCategoryGroup), - failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - return; - } - - throw new NotSupportedException(); - } - - #endregion - - #endregion - #region Assemble Assessment Section [Test] @@ -531,237 +143,8 @@ } } - [Test] - public void AssembleAssessmentSectionOld_AssessmentSectionNull_ThrowsArgumentNullException() - { - // Call - TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleAssessmentSection(null, new Random(39).NextBoolean()); - - // Assert - var exception = Assert.Throws(call); - Assert.AreEqual("assessmentSection", exception.ParamName); - } - - [Test] - public void AssembleAssessmentSectionOld_WithAssessmentSectionWithoutManualSectionAssemblyResults_SetsInputOnCalculator() - { - // Setup - var random = new Random(21); - AssessmentSection assessmentSection = CreateAssessmentSection(); - - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - - AssessmentSectionAssemblyCalculatorStubOld assessmentSectionAssemblyCalculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; - assessmentSectionAssemblyCalculator.AssembleFailureMechanismsAssemblyOutput = new FailureMechanismAssembly( - random.NextDouble(), random.NextEnumValue()); - assessmentSectionAssemblyCalculator.AssembleFailureMechanismsAssemblyCategoryGroupOutput = random.NextEnumValue(); - - // Call - AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, random.NextBoolean()); - - // Assert - AssertGroup1And2FailureMechanismInputs(assessmentSection, - failureMechanismAssemblyCalculator.FailureMechanismAssemblyOutput, - assessmentSectionAssemblyCalculator); - - AssertGroup3And4FailureMechanismInputs(assessmentSection, - failureMechanismAssemblyCalculator.FailureMechanismAssemblyCategoryGroupOutput.Value, - assessmentSectionAssemblyCalculator); - - Assert.AreSame(assessmentSectionAssemblyCalculator.AssembleFailureMechanismsAssemblyOutput, - assessmentSectionAssemblyCalculator.FailureMechanismsWithProbabilityInput); - Assert.AreEqual(assessmentSectionAssemblyCalculator.AssembleFailureMechanismsAssemblyCategoryGroupOutput, - assessmentSectionAssemblyCalculator.FailureMechanismsWithoutProbabilityInput); - } - } - - [Test] - public void AssembleAssessmentSectionOld_AssemblyRan_ReturnsOutput() - { - // Setup - var random = new Random(21); - AssessmentSection assessmentSection = CreateAssessmentSection(); - - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; - calculator.AssembleFailureMechanismsAssemblyOutput = new FailureMechanismAssembly( - random.NextDouble(), random.NextEnumValue()); - calculator.AssembleAssessmentSectionCategoryGroupOutput = random.NextEnumValue(); - - // Call - AssessmentSectionAssemblyCategoryGroup output = AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, random.NextBoolean()); - - // Assert - Assert.AreEqual(calculator.AssembleAssessmentSectionCategoryGroupOutput, output); - } - } - - [Test] - public void AssembleAssessmentSectionOld_CalculatorThrowsException_ThrowsAssemblyException() - { - // Setup - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - AssessmentSectionAssemblyCalculatorStubOld calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; - calculator.ThrowExceptionOnCalculate = true; - - // Call - TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleAssessmentSection(CreateAssessmentSection(), - new Random(39).NextBoolean()); - - // Assert - var exception = Assert.Throws(call); - Exception innerException = exception.InnerException; - Assert.IsInstanceOf(innerException); - Assert.AreEqual(innerException.Message, exception.Message); - } - } - - [Test] - public void AssembleAssessmentSectionOld_FailureMechanismCalculatorThrowsException_ThrowsAssemblyException() - { - // Setup - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismAssemblyCalculatorOldStub calculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - calculator.ThrowExceptionOnCalculate = true; - - // Call - TestDelegate call = () => AssessmentSectionAssemblyFactory.AssembleAssessmentSection(CreateAssessmentSection(), - new Random(39).NextBoolean()); - - // Assert - var exception = Assert.Throws(call); - Exception innerException = exception.InnerException; - Assert.IsInstanceOf(innerException); - Assert.AreEqual("Voor een of meerdere toetssporen kan geen oordeel worden bepaald.", exception.Message); - } - } - - #region Manual Assembly Used - - #region With Probability - - [Test] - public void GivenAssessmentSectionWithPipingConfigured_WhenAssemblingAssessmentSectionAndUseManualTrue_ThenInputSetOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSectionWithFailureMechanismsNotPartOfAssembly(); - PipingFailureMechanism failureMechanism = assessmentSection.Piping; - failureMechanism.InAssembly = true; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - PipingFailureMechanismSectionResultOld sectionResult = failureMechanism.SectionResultsOld.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - // When - AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(probability, failureMechanismSectionAssemblyCalculator.ManualAssemblyProbabilityInput); - } - } - - [Test] - public void AssembleAssessmentSection_FailureMechanismWithProbabilityAndManualSectionAssemblyAndUseManualTrue_SetsManualAssemblyInputOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSectionWithFailureMechanismsNotPartOfAssembly(); - PipingFailureMechanism failureMechanism = assessmentSection.Piping; - failureMechanism.InAssembly = true; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - PipingFailureMechanismSectionResultOld sectionResult = failureMechanism.SectionResultsOld.Single(); - sectionResult.UseManualAssembly = true; - double probability = new Random(39).NextDouble(); - sectionResult.ManualAssemblyProbability = probability; - - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - // When - AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.IsNull(failureMechanismSectionAssemblyCalculator.ManualAssemblyAssemblyOutput); - } - } - #endregion - #region Without Probability - - [Test] - public void AssembleAssessmentSection_FailureMechanismWithoutProbabilityAndWithManualSectionAssemblyAndUseManualTrue_SetsManualAssemblyInputOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSectionWithFailureMechanismsNotPartOfAssembly(); - DuneErosionFailureMechanism failureMechanism = assessmentSection.DuneErosion; - failureMechanism.InAssembly = true; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - DuneErosionFailureMechanismSectionResultOld sectionResult = failureMechanism.SectionResultsOld.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyCategoryGroup = FailureMechanismSectionAssemblyCategoryGroup.Vv; - - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - // When - AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, true); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - Assert.AreEqual(sectionResult.ManualAssemblyCategoryGroup, failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - } - } - - [Test] - public void AssembleAssessmentSection_FailureMechanismWithoutProbabilityAndWithManualSectionAssemblyAndUseManualTrue_SetsAssemblyInputOnCalculator() - { - // Given - AssessmentSection assessmentSection = CreateAssessmentSectionWithFailureMechanismsNotPartOfAssembly(); - DuneErosionFailureMechanism failureMechanism = assessmentSection.DuneErosion; - failureMechanism.InAssembly = true; - FailureMechanismTestHelper.AddSections(failureMechanism, 1); - - DuneErosionFailureMechanismSectionResultOld sectionResult = failureMechanism.SectionResultsOld.Single(); - sectionResult.UseManualAssembly = true; - sectionResult.ManualAssemblyCategoryGroup = FailureMechanismSectionAssemblyCategoryGroup.Vv; - - using (new AssemblyToolCalculatorFactoryConfigOld()) - { - // When - AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection, false); - - // Then - var calculatorFactory = (TestAssemblyToolCalculatorFactoryOld) AssemblyToolCalculatorFactoryOld.Instance; - FailureMechanismAssemblyCalculatorOldStub failureMechanismAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismAssemblyCalculator; - FailureMechanismSectionAssemblyCalculatorOldStub failureMechanismSectionAssemblyCalculator = calculatorFactory.LastCreatedFailureMechanismSectionAssemblyCalculator; - Assert.AreEqual(failureMechanismSectionAssemblyCalculator.CombinedAssemblyCategoryOutput, failureMechanismAssemblyCalculator.FailureMechanismSectionCategories.Single()); - } - } - - #endregion - - #endregion - - #endregion - #region Assemble Combined Per Failure Mechanism Section [Test]