Exemplo n.º 1
0
        public void ConvertFailureMechanismSectionResultFurtherAnalysisType_ValidFailureMechanismSectionResultFurtherAnalysisType_ReturnsExpectedRefinementStatus(
            FailureMechanismSectionResultFurtherAnalysisType furtherAnalysisType, ERefinementStatus expectedRefinementStatus)
        {
            // Call
            ERefinementStatus refinementStatus = FailureMechanismSectionAssemblyCalculatorInputCreator.ConvertFailureMechanismSectionResultFurtherAnalysisType(furtherAnalysisType);

            // Assert
            Assert.AreEqual(expectedRefinementStatus, refinementStatus);
        }
        /// <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));
                }
            }
        }
 public ExpectedFailureMechanismSection(string sectionName, double start, double end, bool isRelevant, Probability initialMechanismProbabilitySection, ERefinementStatus refinementStatus, Probability refinedProbabilitySection, Probability expectedCombinedProbabilitySection, EInterpretationCategory expectedInterpretationCategory)
 {
     SectionName = sectionName;
     Start       = start;
     End         = end;
     IsRelevant  = isRelevant;
     InitialMechanismProbabilitySection = initialMechanismProbabilitySection;
     RefinementStatus                   = refinementStatus;
     RefinedProbabilitySection          = refinedProbabilitySection;
     ExpectedCombinedProbabilitySection = expectedCombinedProbabilitySection;
     ExpectedInterpretationCategory     = expectedInterpretationCategory;
 }
 /// <inheritdoc />
 public FailureMechanismSectionAssemblyResult TranslateAssessmentResultWbi0A2(
     ESectionInitialMechanismProbabilitySpecification relevance,
     Probability probabilityInitialMechanismSection,
     ERefinementStatus refinementStatus,
     Probability refinedProbabilitySection,
     CategoriesList <InterpretationCategory> categories)
 {
     return(TranslateAssessmentResultWbi0A2(
                relevance,
                probabilityInitialMechanismSection,
                probabilityInitialMechanismSection,
                refinementStatus,
                refinedProbabilitySection,
                refinedProbabilitySection,
                categories));
 }
 /// <summary>
 /// Constructor for the <seealso cref="ExpectedFailureMechanismSectionWithLengthEffect"/>.
 /// </summary>
 /// <param name="sectionName">Custom of the section.</param>
 /// <param name="start">Start of the section in meters along the assessment section.</param>
 /// <param name="end">End of the section in meters along the assessment section.</param>
 /// <param name="isRelevant">Relevance of the section for a specific failure mechanism.</param>
 /// <param name="initialMechanismProbabilityProfile">Probability estimation for the initial mechanism for a single profile.</param>
 /// <param name="initialMechanismProbabilitySection">Probability estimation for the initial mechanism for the complete section.</param>
 /// <param name="refinementStatus">Refinement status of the probability estimation.</param>
 /// <param name="refinedProbabilityProfile">Refined probability estimation for a single profile.</param>
 /// <param name="refinedProbabilitySection">Refined probability estimation for the complete section.</param>
 /// <param name="expectedCombinedProbabilityProfile">The expected combined probability for a single profile.</param>
 /// <param name="expectedCombinedProbabilitySection">The expected combined probability for the complete section.</param>
 /// <param name="expectedInterpretationCategory">The expected interpretation category for the section.</param>
 public ExpectedFailureMechanismSectionWithLengthEffect(string sectionName,
                                                        double start,
                                                        double end,
                                                        bool isRelevant,
                                                        Probability initialMechanismProbabilityProfile,
                                                        Probability initialMechanismProbabilitySection,
                                                        ERefinementStatus refinementStatus,
                                                        Probability refinedProbabilityProfile,
                                                        Probability refinedProbabilitySection,
                                                        Probability expectedCombinedProbabilityProfile,
                                                        Probability expectedCombinedProbabilitySection,
                                                        EInterpretationCategory expectedInterpretationCategory)
     : base(sectionName, start, end, isRelevant, initialMechanismProbabilitySection, refinementStatus, refinedProbabilitySection, expectedCombinedProbabilitySection, expectedInterpretationCategory)
 {
     InitialMechanismProbabilityProfile = initialMechanismProbabilityProfile;
     RefinedProbabilityProfile          = refinedProbabilityProfile;
     ExpectedCombinedProbabilityProfile = expectedCombinedProbabilityProfile;
 }
 public FailureMechanismSectionAssemblyResultWithLengthEffect TranslateAssessmentResultWithLengthEffectAggregatedMethod(ESectionInitialMechanismProbabilitySpecification relevance,
                                                                                                                        Probability probabilityInitialMechanismProfile,
                                                                                                                        Probability probabilityInitialMechanismSection,
                                                                                                                        ERefinementStatus refinementStatus,
                                                                                                                        Probability refinedProbabilityProfile,
                                                                                                                        Probability refinedProbabilitySection,
                                                                                                                        CategoriesList <InterpretationCategory> categories)
 {
     throw new NotImplementedException();
 }