Index: Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs =================================================================== diff -u -rbd25b82af4577a5726d49a82878e056f21249cd2 -r13b60c813781532e9ca47af46e2b1cbc03f4c776 --- Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs (.../AssessmentSectionAssemblyCalculator.cs) (revision bd25b82af4577a5726d49a82878e056f21249cd2) +++ Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs (.../AssessmentSectionAssemblyCalculator.cs) (revision 13b60c813781532e9ca47af46e2b1cbc03f4c776) @@ -27,6 +27,7 @@ using Assembly.Kernel.Model; using Assembly.Kernel.Model.AssessmentSection; using Assembly.Kernel.Model.Categories; +using Assembly.Kernel.Model.FailureMechanismSections; using Riskeer.AssemblyTool.Data; using Riskeer.AssemblyTool.KernelWrapper.Creators; using Riskeer.AssemblyTool.KernelWrapper.Kernels; @@ -67,16 +68,19 @@ try { ICategoryLimitsCalculator categoryLimitsKernel = factory.CreateAssemblyGroupsKernel(); - CategoriesList assessmentSectionCategories = categoryLimitsKernel.CalculateAssessmentSectionCategoryLimitsWbi21( + CategoriesList assessmentSectionCategories = categoryLimitsKernel.CalculateAssessmentSectionCategoryLimitsBoi21( new AssessmentSection(AssemblyCalculatorInputCreator.CreateProbability(signalFloodingProbability), AssemblyCalculatorInputCreator.CreateProbability(maximumAllowableFloodingProbability))); IAssessmentGradeAssembler assessmentSectionAssemblyKernel = factory.CreateAssessmentSectionAssemblyKernel(); IEnumerable probabilities = failureMechanismProbabilities.Select(AssemblyCalculatorInputCreator.CreateProbability) .ToArray(); - AssessmentSectionResult assemblyResult = assessmentSectionAssemblyKernel.AssembleAssessmentSectionWbi2B1(probabilities, assessmentSectionCategories, false); - return AssessmentSectionAssemblyResultCreator.CreateAssessmentSectionAssemblyResult(assemblyResult); + Probability assemblyProbability = assessmentSectionAssemblyKernel.CalculateAssessmentSectionFailureProbabilityBoi2A1(probabilities, false); + EAssessmentGrade assemblyCategory = assessmentSectionAssemblyKernel.DetermineAssessmentGradeBoi2B1(assemblyProbability, assessmentSectionCategories); + + return new AssessmentSectionAssemblyResult( + assemblyProbability, AssessmentSectionAssemblyGroupCreator.CreateAssessmentSectionAssemblyGroup(assemblyCategory)); } catch (AssemblyException e) { @@ -99,7 +103,7 @@ try { ICommonFailureMechanismSectionAssembler kernel = factory.CreateCombinedFailureMechanismSectionAssemblyKernel(); - AssemblyResult output = kernel.AssembleCommonFailureMechanismSections(FailureMechanismSectionListCreator.Create(input), assessmentSectionLength, false); + GreatestCommonDenominatorAssemblyResult output = kernel.AssembleCommonFailureMechanismSections(FailureMechanismSectionListCreator.Create(input), assessmentSectionLength, false); return CombinedFailureMechanismSectionAssemblyCreator.Create(output); } Index: Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs =================================================================== diff -u -rec1498df715811275418ab822d8c9334adae3a69 -r13b60c813781532e9ca47af46e2b1cbc03f4c776 --- Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (.../FailureMechanismSectionAssemblyCalculator.cs) (revision ec1498df715811275418ab822d8c9334adae3a69) +++ Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (.../FailureMechanismSectionAssemblyCalculator.cs) (revision 13b60c813781532e9ca47af46e2b1cbc03f4c776) @@ -64,7 +64,7 @@ KernelFailureMechanismSectionAssemblyResult GetAssemblyResultFunc( IAssessmentResultsTranslator kernel, CategoriesList interpretationCategories) => - kernel.TranslateAssessmentResultWbi0A2( + kernel.DetermineRepresentativeProbabilitiesBoi0A2( GetInitialMechanismProbabilitySpecification(input), AssemblyCalculatorInputCreator.CreateProbability(input.InitialSectionProbability), FailureMechanismSectionAssemblyCalculatorInputCreator.ConvertFailureMechanismSectionResultFurtherAnalysisType(input.FurtherAnalysisType), Fisheye: Tag 13b60c813781532e9ca47af46e2b1cbc03f4c776 refers to a dead (removed) revision in file `Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/AssessmentSectionAssemblyResultCreator.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/CombinedFailureMechanismSectionAssemblyCreator.cs =================================================================== diff -u -rf7980ec2b340d46fd4b2ecba0ea5de19dde2f6ea -r13b60c813781532e9ca47af46e2b1cbc03f4c776 --- Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/CombinedFailureMechanismSectionAssemblyCreator.cs (.../CombinedFailureMechanismSectionAssemblyCreator.cs) (revision f7980ec2b340d46fd4b2ecba0ea5de19dde2f6ea) +++ Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Creators/CombinedFailureMechanismSectionAssemblyCreator.cs (.../CombinedFailureMechanismSectionAssemblyCreator.cs) (revision 13b60c813781532e9ca47af46e2b1cbc03f4c776) @@ -22,7 +22,6 @@ using System; using System.Collections.Generic; using System.Linq; -using Assembly.Kernel.Model.AssessmentSection; using Assembly.Kernel.Model.FailureMechanismSections; using Riskeer.AssemblyTool.Data; @@ -37,12 +36,12 @@ /// Creates a collection of /// based on the . /// - /// The to create the + /// The to create the /// for. /// A collection of . /// Thrown when /// is null. - public static IEnumerable Create(AssemblyResult result) + public static IEnumerable Create(GreatestCommonDenominatorAssemblyResult result) { if (result == null) { @@ -69,7 +68,7 @@ private static CombinedAssemblyFailureMechanismSection CreateSection(FailureMechanismSectionWithCategory section) { return new CombinedAssemblyFailureMechanismSection( - section.SectionStart, section.SectionEnd, + section.Start, section.End, FailureMechanismSectionAssemblyGroupConverter.ConvertTo(section.Category)); } } Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorTest.cs =================================================================== diff -u -r6a4747337f991389d9eb4d38b12a9fd082903e00 -r13b60c813781532e9ca47af46e2b1cbc03f4c776 --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorTest.cs (.../AssessmentSectionAssemblyCalculatorTest.cs) (revision 6a4747337f991389d9eb4d38b12a9fd082903e00) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorTest.cs (.../AssessmentSectionAssemblyCalculatorTest.cs) (revision 13b60c813781532e9ca47af46e2b1cbc03f4c776) @@ -115,7 +115,9 @@ categoryLimitsKernel.AssessmentSectionCategoryLimits = assessmentSectionCategories; AssessmentSectionAssemblyKernelStub assessmentSectionAssemblyKernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - assessmentSectionAssemblyKernel.AssessmentSectionAssemblyResult = new AssessmentSectionResult(new Probability(random.NextDouble()), random.NextEnumValue()); + var assemblyProbability = new Probability(random.NextDouble()); + assessmentSectionAssemblyKernel.AssemblyProbability = assemblyProbability; + assessmentSectionAssemblyKernel.AssemblyGroup = random.NextEnumValue(); var calculator = new AssessmentSectionAssemblyCalculator(factory); @@ -124,10 +126,11 @@ // Assert Assert.IsTrue(categoryLimitsKernel.Calculated); - ProbabilityAssert.AreEqual(maximumAllowableFloodingProbability, categoryLimitsKernel.AssessmentSection.FailureProbabilityLowerLimit); - ProbabilityAssert.AreEqual(signalFloodingProbability, categoryLimitsKernel.AssessmentSection.FailureProbabilitySignalingLimit); + ProbabilityAssert.AreEqual(maximumAllowableFloodingProbability, categoryLimitsKernel.AssessmentSection.MaximumAllowableFloodingProbability); + ProbabilityAssert.AreEqual(signalFloodingProbability, categoryLimitsKernel.AssessmentSection.SignalFloodingProbability); - Assert.IsTrue(assessmentSectionAssemblyKernel.Calculated); + Assert.IsTrue(assessmentSectionAssemblyKernel.ProbabilityCalculated); + Assert.IsTrue(assessmentSectionAssemblyKernel.AssemblyGroupCalculated); Assert.IsFalse(assessmentSectionAssemblyKernel.PartialAssembly); Assert.AreSame(assessmentSectionCategories, assessmentSectionAssemblyKernel.Categories); @@ -138,6 +141,7 @@ ProbabilityAssert.AreEqual(failureMechanismProbabilities.ElementAt(i), actualProbabilitiesInput.ElementAt(i)); } + Assert.AreEqual(assemblyProbability, assessmentSectionAssemblyKernel.AssemblyProbabilityInput); } } @@ -153,17 +157,19 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - var assemblyResult = new AssessmentSectionResult(new Probability(random.NextDouble()), random.NextEnumValue()); - kernel.AssessmentSectionAssemblyResult = assemblyResult; - + var assemblyProbability = new Probability(random.NextDouble()); + var assemblyGroup = random.NextEnumValue(); + kernel.AssemblyProbability = assemblyProbability; + kernel.AssemblyGroup = assemblyGroup; + var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call AssessmentSectionAssemblyResult result = calculator.AssembleAssessmentSection(Enumerable.Empty(), maximumAllowableFloodingProbability, signalFloodingProbability); // Assert - Assert.AreEqual(assemblyResult.FailureProbability, result.Probability); - Assert.AreEqual(AssessmentSectionAssemblyGroupCreator.CreateAssessmentSectionAssemblyGroup(assemblyResult.Category), + Assert.AreEqual(assemblyProbability, result.Probability); + Assert.AreEqual(AssessmentSectionAssemblyGroupCreator.CreateAssessmentSectionAssemblyGroup(assemblyGroup), result.AssemblyGroup); } } @@ -180,8 +186,8 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - var assemblyResult = new AssessmentSectionResult(new Probability(random.NextDouble()), (EAssessmentGrade) 99); - kernel.AssessmentSectionAssemblyResult = assemblyResult; + kernel.AssemblyProbability = new Probability(random.NextDouble()); + kernel.AssemblyGroup = (EAssessmentGrade) 99; var calculator = new AssessmentSectionAssemblyCalculator(factory); Fisheye: Tag 13b60c813781532e9ca47af46e2b1cbc03f4c776 refers to a dead (removed) revision in file `Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.KernelWrapper.Test/Creators/AssessmentSectionAssemblyResultCreatorTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.KernelWrapper.TestUtil/Kernels/Assembly/AssessmentSectionAssemblyKernelStub.cs =================================================================== diff -u -rc44e94b38a58f622d2724a84d2741480766d9dd1 -r13b60c813781532e9ca47af46e2b1cbc03f4c776 --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.KernelWrapper.TestUtil/Kernels/Assembly/AssessmentSectionAssemblyKernelStub.cs (.../AssessmentSectionAssemblyKernelStub.cs) (revision c44e94b38a58f622d2724a84d2741480766d9dd1) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.KernelWrapper.TestUtil/Kernels/Assembly/AssessmentSectionAssemblyKernelStub.cs (.../AssessmentSectionAssemblyKernelStub.cs) (revision 13b60c813781532e9ca47af46e2b1cbc03f4c776) @@ -21,10 +21,10 @@ using System; using System.Collections.Generic; +using System.Reflection; using Assembly.Kernel.Exceptions; using Assembly.Kernel.Interfaces; using Assembly.Kernel.Model; -using Assembly.Kernel.Model.AssessmentSection; using Assembly.Kernel.Model.Categories; namespace Riskeer.AssemblyTool.KernelWrapper.TestUtil.Kernels.Assembly @@ -45,16 +45,26 @@ public CategoriesList Categories { get; private set; } /// + /// Gets the assembly probability. + /// + public Probability AssemblyProbabilityInput { get; private set; } + + /// /// Gets a value indicating whether an assembly is partial. /// public bool? PartialAssembly { get; private set; } /// - /// Gets a value indicating whether a calculation was called or not. + /// Gets a value indicating whether a probability calculation was called or not. /// - public bool Calculated { get; private set; } + public bool ProbabilityCalculated { get; private set; } /// + /// Gets a value indicating whether an assembly group calculation was called or not. + /// + public bool AssemblyGroupCalculated { get; private set; } + + /// /// Sets an indicator whether an must be thrown while performing a calculation. /// public bool ThrowExceptionOnCalculate { private get; set; } @@ -65,22 +75,35 @@ public bool ThrowAssemblyExceptionOnCalculate { private get; set; } /// - /// Sets the assembly result of an assessment section. + /// Sets the assembly probability of an assessment section. /// - public AssessmentSectionResult AssessmentSectionAssemblyResult { private get; set; } + public Probability AssemblyProbability { private get; set; } - public AssessmentSectionResult AssembleAssessmentSectionWbi2B1(IEnumerable failureMechanismProbabilities, - CategoriesList categories, - bool partialAssembly) + /// + /// Sets the assembly group of an assessment section. + /// + public EAssessmentGrade AssemblyGroup { private get; set; } + + public Probability CalculateAssessmentSectionFailureProbabilityBoi2A1(IEnumerable failureMechanismProbabilities, bool partialAssembly) { ThrowException(); - Calculated = true; - PartialAssembly = partialAssembly; + ProbabilityCalculated = true; FailureMechanismProbabilities = failureMechanismProbabilities; + PartialAssembly = partialAssembly; + + return AssemblyProbability; + } + + public EAssessmentGrade DetermineAssessmentGradeBoi2B1(Probability failureProbability, CategoriesList categories) + { + ThrowException(); + + AssemblyGroupCalculated = true; + AssemblyProbabilityInput = failureProbability; Categories = categories; - return AssessmentSectionAssemblyResult; + return AssemblyGroup; } private void ThrowException()