Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs =================================================================== diff -u -r8504a727494410ae43855ce2fbae498fc6e06d99 -r13a3e8b7103bb3f7ce45d52d51987c77b9191816 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision 8504a727494410ae43855ce2fbae498fc6e06d99) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision 13a3e8b7103bb3f7ce45d52d51987c77b9191816) @@ -578,7 +578,8 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; - kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult((EFmSectionCategory) 99); + kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult((EFmSectionCategory) 99, + random.NextDouble()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory); @@ -667,6 +668,8 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; + kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue(), + random.NextDouble()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory); @@ -723,7 +726,8 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; - kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult((EFmSectionCategory) 99); + kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult((EFmSectionCategory) 99, + random.NextDouble()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory); @@ -732,7 +736,7 @@ random.NextEnumValue(), random.NextDouble(), random.NextDouble(), - new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.4), random.NextDouble(0.5, 0.9)), + new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)), new FailureMechanism(random.NextDouble(1, 5), random.NextDouble())); // Assert @@ -813,6 +817,8 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; + kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue(), + random.NextDouble()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory); @@ -1132,14 +1138,16 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; + kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue(), + random.NextDouble()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory); // Call calculator.AssembleTailorMadeAssessment(tailorMadeAssessmentResult, probability, assessmentSection, failureMechanism); // Assert - //Assert.AreEqual(GetAssessmentResultTypeT4(tailorMadeAssessmentResult), kernel.AssessmentResultTypeT4Input); + Assert.AreEqual(GetAssessmentResultTypeT4(tailorMadeAssessmentResult), kernel.AssessmentResultTypeT4Input); Assert.AreEqual(probability, kernel.FailureProbabilityInput); Assert.AreSame(assessmentSection, kernel.AssessmentSectionInput); Assert.AreSame(failureMechanism, kernel.FailureMechanismInput); Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Kernels/Assembly/FailureMechanismSectionAssemblyKernelStubTest.cs =================================================================== diff -u -r8049c8f73c99e5b2bcbb6648e4a508cfa95f92db -r13a3e8b7103bb3f7ce45d52d51987c77b9191816 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Kernels/Assembly/FailureMechanismSectionAssemblyKernelStubTest.cs (.../FailureMechanismSectionAssemblyKernelStubTest.cs) (revision 8049c8f73c99e5b2bcbb6648e4a508cfa95f92db) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Kernels/Assembly/FailureMechanismSectionAssemblyKernelStubTest.cs (.../FailureMechanismSectionAssemblyKernelStubTest.cs) (revision 13a3e8b7103bb3f7ce45d52d51987c77b9191816) @@ -300,8 +300,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); @@ -326,8 +326,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); @@ -348,8 +348,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); @@ -441,8 +441,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); double lengthEffect = random.NextDouble(); @@ -469,8 +469,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); double lengthEffect = random.NextDouble(); @@ -492,8 +492,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); double lengthEffect = random.NextDouble(); @@ -604,8 +604,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); @@ -630,8 +630,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); @@ -652,8 +652,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); @@ -745,8 +745,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); double lengthEffect = random.NextDouble(); @@ -773,8 +773,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); double lengthEffect = random.NextDouble(); @@ -796,8 +796,8 @@ { // Setup var random = new Random(39); - var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.5, 0.9), random.NextDouble(0.0, 0.4)); - var failureMechanism = new FailureMechanism(random.NextDouble(), random.NextDouble()); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); var assessment = random.NextEnumValue(); double failureProbability = random.NextDouble(); double lengthEffect = random.NextDouble(); @@ -837,18 +837,83 @@ } [Test] - public void TranslateAssessmentResultWbi0T7_Always_ThrowNotImplementedException() + public void TranslateAssessmentResultWbi0T7_ThrowExceptionOnCalculateFalse_InputCorrectlySetToKernelAndCalculatedTrue() { // Setup + var random = new Random(39); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); + var assessment = random.NextEnumValue(); + double failureProbability = random.NextDouble(); + var kernel = new FailureMechanismSectionAssemblyKernelStub(); + // Precondition + Assert.IsFalse(kernel.Calculated); + // Call - TestDelegate test = () => kernel.TranslateAssessmentResultWbi0T7(null, null, EAssessmentResultTypeT4.Ngo, null); + kernel.TranslateAssessmentResultWbi0T7(section, failureMechanism, assessment, failureProbability); // Assert - Assert.Throws(test); + Assert.AreSame(section, kernel.AssessmentSectionInput); + Assert.AreSame(failureMechanism, kernel.FailureMechanismInput); + Assert.AreEqual(assessment, kernel.AssessmentResultTypeT4Input); + Assert.AreEqual(failureProbability, kernel.FailureProbabilityInput); + Assert.IsTrue(kernel.Calculated); } + [Test] + public void TranslateAssessmentResultWbi0T7_ThrowExceptionOnCalculateFalse_ReturnFailureMechanismSectionAssemblyResult() + { + // Setup + var random = new Random(39); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); + var assessment = random.NextEnumValue(); + double failureProbability = random.NextDouble(); + + var kernel = new FailureMechanismSectionAssemblyKernelStub + { + FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue()) + }; + + // Call + FmSectionAssemblyDirectResult result = kernel.TranslateAssessmentResultWbi0T7(section, failureMechanism, assessment, failureProbability); + + // Assert + Assert.AreSame(kernel.FailureMechanismSectionDirectResult, result); + } + + [Test] + public void TranslateAssessmentResultWbi0T7_ThrowExceptionOnCalculateTrue_ThrowsException() + { + // Setup + var random = new Random(39); + var section = new AssessmentSection(random.NextDouble(), random.NextDouble(0.0, 0.5), random.NextDouble(0.5, 1.0)); + var failureMechanism = new FailureMechanism(random.NextDouble(1, 5), random.NextDouble()); + var assessment = random.NextEnumValue(); + double failureProbability = random.NextDouble(); + + var kernel = new FailureMechanismSectionAssemblyKernelStub + { + ThrowExceptionOnCalculate = true + }; + + // Call + TestDelegate test = () => kernel.TranslateAssessmentResultWbi0T7(section, failureMechanism, assessment, failureProbability); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("Message", exception.Message); + Assert.IsNotNull(exception.InnerException); + Assert.IsNull(kernel.AssessmentSectionInput); + Assert.IsNull(kernel.FailureMechanismInput); + Assert.IsNull(kernel.AssessmentResultTypeT4Input); + Assert.IsNull(kernel.FailureProbabilityInput); + Assert.IsFalse(kernel.Calculated); + Assert.IsNull(kernel.FailureMechanismSectionDirectResult); + } + #endregion #region Combined Assessment Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs =================================================================== diff -u -rc272e050676c973bfa102b51a80a4fc8a20c8de2 -r13a3e8b7103bb3f7ce45d52d51987c77b9191816 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs (.../FailureMechanismSectionAssemblyCalculatorStub.cs) (revision c272e050676c973bfa102b51a80a4fc8a20c8de2) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs (.../FailureMechanismSectionAssemblyCalculatorStub.cs) (revision 13a3e8b7103bb3f7ce45d52d51987c77b9191816) @@ -349,6 +349,7 @@ } TailorMadeAssessmentProbabilityAndDetailedCalculationResultInput = tailorMadeAssessmentResult; + TailorMadeAssessmentProbabilityInput = probability; TailorMadeAssessmentAssessmentSectionInput = assessmentSection; TailorMadeAssessmentFailureMechanismInput = failureMechanism; Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Kernels/Assembly/FailureMechanismSectionAssemblyKernelStub.cs =================================================================== diff -u -r8504a727494410ae43855ce2fbae498fc6e06d99 -r13a3e8b7103bb3f7ce45d52d51987c77b9191816 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Kernels/Assembly/FailureMechanismSectionAssemblyKernelStub.cs (.../FailureMechanismSectionAssemblyKernelStub.cs) (revision 8504a727494410ae43855ce2fbae498fc6e06d99) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Kernels/Assembly/FailureMechanismSectionAssemblyKernelStub.cs (.../FailureMechanismSectionAssemblyKernelStub.cs) (revision 13a3e8b7103bb3f7ce45d52d51987c77b9191816) @@ -63,6 +63,11 @@ public EAssessmentResultTypeT3? AssessmentResultTypeT3Input { get; private set; } /// + /// Gets the input used in . + /// + public EAssessmentResultTypeT4? AssessmentResultTypeT4Input { get; private set; } + + /// /// Gets the section category input used as input parameter for assembly methods. /// public EFmSectionCategory? SectionCategoryInput { get; private set; } @@ -312,9 +317,23 @@ throw new NotImplementedException(); } - public FmSectionAssemblyDirectResult TranslateAssessmentResultWbi0T7(AssessmentSection section, FailureMechanism failureMechanism, EAssessmentResultTypeT4 assessment, double? failureProbability) + public FmSectionAssemblyDirectResult TranslateAssessmentResultWbi0T7(AssessmentSection section, + FailureMechanism failureMechanism, + EAssessmentResultTypeT4 assessment, + double? failureProbability) { - throw new NotImplementedException(); + if (ThrowExceptionOnCalculate) + { + throw new Exception("Message", new Exception()); + } + + AssessmentSectionInput = section; + FailureMechanismInput = failureMechanism; + AssessmentResultTypeT4Input = assessment; + FailureProbabilityInput = failureProbability; + + Calculated = true; + return FailureMechanismSectionDirectResult; } public FmSectionAssemblyResult TranslateAssessmentResultWbi0A1(FmSectionAssemblyDirectResult simpleAssessmentResult,