Exemple #1
0
        public void CalculateSectionProbability_NoScenarios_ReturnsNaN()
        {
            // Setup
            FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
            var sectionResult = new AdoptableWithProfileProbabilityFailureMechanismSectionResult(section);

            var strategy = new SemiProbabilisticPipingFailureMechanismSectionResultCalculateProbabilityStrategy(
                sectionResult, Enumerable.Empty <SemiProbabilisticPipingCalculationScenario>(),
                new PipingFailureMechanism(), new AssessmentSectionStub());

            // Call
            double sectionProbability = strategy.CalculateSectionProbability();

            // Assert
            Assert.IsNaN(sectionProbability);
        }
Exemple #2
0
        public void CalculateSectionProbability_MultipleScenariosForSectionWithLargeLength_ReturnsProbabilityEqualToOne()
        {
            // Setup
            var section = new FailureMechanismSection("test", new[]
            {
                new Point2D(0, 0),
                new Point2D(10000, 0)
            });

            SemiProbabilisticPipingFailureMechanismSectionResultCalculateProbabilityStrategy strategy = CreateStrategyForMultipleScenarios(section);

            // Call
            double sectionProbability = strategy.CalculateSectionProbability();

            // Assert
            Assert.AreEqual(1.0, sectionProbability);
        }
Exemple #3
0
        public void CalculateSectionProbability_MultipleScenariosForSectionWithSmallLength_ReturnsValueBasedOnRelevantScenarios()
        {
            // Setup
            var section = new FailureMechanismSection("test", new[]
            {
                new Point2D(0, 0),
                new Point2D(1, 0)
            });

            SemiProbabilisticPipingFailureMechanismSectionResultCalculateProbabilityStrategy strategy = CreateStrategyForMultipleScenarios(section);

            // Call
            double sectionProbability = strategy.CalculateSectionProbability();

            // Assert
            Assert.AreEqual(0.98862377, sectionProbability, 1e-8);
        }