/// <inheritdoc />
        public FailureMechanismSectionAssemblyResult TranslateAssessmentResultWbi0A2(
            ESectionInitialMechanismProbabilitySpecification relevance,
            Probability probabilityInitialMechanismProfile,
            Probability probabilityInitialMechanismSection,
            ERefinementStatus refinementStatus,
            Probability refinedProbabilityProfile,
            Probability refinedProbabilitySection,
            CategoriesList <InterpretationCategory> categories)
        {
            if (categories == null)
            {
                throw new AssemblyException("AssemblyResultsTranslator", EAssemblyErrors.ValueMayNotBeNull);
            }

            if (relevance == ESectionInitialMechanismProbabilitySpecification.NotRelevant)
            {
                return(new FailureMechanismSectionAssemblyResult(new Probability(0.0), new Probability(0.0), EInterpretationCategory.NotRelevant));
            }

            switch (refinementStatus)
            {
            case ERefinementStatus.Performed:
                if (double.IsNaN(refinedProbabilitySection.Value) || double.IsNaN(refinedProbabilityProfile.Value))
                {
                    throw new AssemblyException("refinedProbability", EAssemblyErrors.ValueMayNotBeNaN);
                }
                CheckProbabilityRatio(refinedProbabilityProfile, refinedProbabilitySection);

                var refinedCategory = categories.GetCategoryForFailureProbability(refinedProbabilitySection).Category;
                return(new FailureMechanismSectionAssemblyResult(refinedProbabilityProfile, refinedProbabilitySection, refinedCategory));

            case ERefinementStatus.Necessary:
                return(new FailureMechanismSectionAssemblyResult(Probability.NaN, Probability.NaN, EInterpretationCategory.Dominant));

            default:
                switch (relevance)
                {
                case ESectionInitialMechanismProbabilitySpecification.RelevantNoProbabilitySpecification:
                    return(new FailureMechanismSectionAssemblyResult(Probability.NaN, Probability.NaN, EInterpretationCategory.NotDominant));

                default:
                    if (double.IsNaN(probabilityInitialMechanismSection) || double.IsNaN(probabilityInitialMechanismProfile))
                    {
                        throw new AssemblyException("probabilityInitialMechanism", EAssemblyErrors.ValueMayNotBeNaN);
                    }

                    CheckProbabilityRatio(probabilityInitialMechanismProfile, probabilityInitialMechanismSection);

                    var categoryInitialMechanism = categories.GetCategoryForFailureProbability(probabilityInitialMechanismSection).Category;
                    return(new FailureMechanismSectionAssemblyResult(probabilityInitialMechanismProfile, probabilityInitialMechanismSection, categoryInitialMechanism));
                }
            }
        }
 /// <inheritdoc />
 public FailureMechanismSectionAssemblyResult TranslateAssessmentResultWbi0A2(
     ESectionInitialMechanismProbabilitySpecification relevance,
     Probability probabilityInitialMechanismSection,
     ERefinementStatus refinementStatus,
     Probability refinedProbabilitySection,
     CategoriesList <InterpretationCategory> categories)
 {
     return(TranslateAssessmentResultWbi0A2(
                relevance,
                probabilityInitialMechanismSection,
                probabilityInitialMechanismSection,
                refinementStatus,
                refinedProbabilitySection,
                refinedProbabilitySection,
                categories));
 }
 public FailureMechanismSectionAssemblyResultWithLengthEffect TranslateAssessmentResultWithLengthEffectAggregatedMethod(ESectionInitialMechanismProbabilitySpecification relevance,
                                                                                                                        Probability probabilityInitialMechanismProfile,
                                                                                                                        Probability probabilityInitialMechanismSection,
                                                                                                                        ERefinementStatus refinementStatus,
                                                                                                                        Probability refinedProbabilityProfile,
                                                                                                                        Probability refinedProbabilitySection,
                                                                                                                        CategoriesList <InterpretationCategory> categories)
 {
     throw new NotImplementedException();
 }