Exemple #1
0
        public void CreateForResultWithProfileAndSectionProbabilities_WithValidResult_ReturnsExpectedFailureMechanismSectionAssembly()
        {
            // Setup
            var    random                    = new Random(21);
            double profileProbability        = random.NextDouble(0.0001, 0.001);
            double sectionProbability        = random.NextDouble(0.0, 0.01);
            EInterpretationCategory category = random.NextEnumValue(new[]
            {
                EInterpretationCategory.III,
                EInterpretationCategory.II,
                EInterpretationCategory.I,
                EInterpretationCategory.Zero,
                EInterpretationCategory.IMin,
                EInterpretationCategory.IIMin,
                EInterpretationCategory.IIIMin
            });

            var result = new ResultWithProfileAndSectionProbabilities(
                new Probability(profileProbability), new Probability(sectionProbability));

            // Call
            FailureMechanismSectionAssemblyResult createdAssemblyResult = FailureMechanismSectionAssemblyResultCreator.Create(result, category);

            // Assert
            Assert.AreEqual(profileProbability, createdAssemblyResult.ProfileProbability);
            Assert.AreEqual(sectionProbability, createdAssemblyResult.SectionProbability);
            Assert.AreEqual(result.LengthEffectFactor, createdAssemblyResult.N);
            Assert.AreEqual(FailureMechanismSectionAssemblyGroupConverter.ConvertTo(category),
                            createdAssemblyResult.FailureMechanismSectionAssemblyGroup);
        }
Exemple #2
0
        public void CreateForProbabilityAndCategory_WithValidData_ReturnsExpectedFailureMechanismSectionAssembly()
        {
            // Setup
            var    random             = new Random(21);
            double sectionProbability = random.NextDouble();
            var    category           = random.NextEnumValue <EInterpretationCategory>();

            // Call
            FailureMechanismSectionAssemblyResult result = FailureMechanismSectionAssemblyResultCreator.Create(
                new Probability(sectionProbability), category);

            // Assert
            Assert.AreEqual(sectionProbability, result.ProfileProbability);
            Assert.AreEqual(sectionProbability, result.SectionProbability);
            Assert.AreEqual(1.0, result.N);
            Assert.AreEqual(FailureMechanismSectionAssemblyGroupConverter.ConvertTo(category),
                            result.FailureMechanismSectionAssemblyGroup);
        }
        /// <summary>
        /// Creates a <see cref="ResultWithProfileAndSectionProbabilities"/> based on <paramref name="result"/>.
        /// </summary>
        /// <param name="result">The <see cref="FailureMechanismSectionAssemblyResult"/> to create the
        /// <see cref="ResultWithProfileAndSectionProbabilities"/> with.</param>
        /// <returns>A <see cref="ResultWithProfileAndSectionProbabilities"/>.</returns>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="result"/> is <c>null</c>.</exception>
        public static ResultWithProfileAndSectionProbabilities CreateResultWithProfileAndSectionProbabilities(FailureMechanismSectionAssemblyResult result)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            return(new ResultWithProfileAndSectionProbabilities(
                       AssemblyCalculatorInputCreator.CreateProbability(result.ProfileProbability),
                       AssemblyCalculatorInputCreator.CreateProbability(result.SectionProbability)));
        }