public void CreateResultWithProfileAndSectionProbabilities_ResultNull_ThrowsArgumentNullException()
        {
            // Call
            void Call() => FailureMechanismAssemblyCalculatorInputCreator.CreateResultWithProfileAndSectionProbabilities(null);

            // Assert
            var exception = Assert.Throws <ArgumentNullException>(Call);

            Assert.AreEqual("result", exception.ParamName);
        }
        public void CreateResultWithProfileAndSectionProbabilities_WithValidResult_ReturnsExpectedFailureMechanismSectionAssemblyResult()
        {
            // Setup
            var random = new Random(21);
            var result = new FailureMechanismSectionAssemblyResult(
                random.NextDouble(0.001, 0.01), random.NextDouble(0.01, 0.1), random.NextDouble(),
                random.NextEnumValue <FailureMechanismSectionAssemblyGroup>());

            // Call
            ResultWithProfileAndSectionProbabilities createdResult = FailureMechanismAssemblyCalculatorInputCreator.CreateResultWithProfileAndSectionProbabilities(result);

            // Assert
            ProbabilityAssert.AreEqual(result.ProfileProbability, createdResult.ProbabilityProfile);
            ProbabilityAssert.AreEqual(result.SectionProbability, createdResult.ProbabilitySection);
        }