public void CreateFailureMechanismSectionAssemblyCalculator_WithKernelFactory_ReturnsCalculator() { // Setup IAssemblyToolCalculatorFactory factory = AssemblyToolCalculatorFactory.Instance; using (new AssemblyToolKernelFactoryConfig()) { // Call IFailureMechanismSectionAssemblyCalculator calculator = factory.CreateFailureMechanismSectionAssemblyCalculator(AssemblyToolKernelFactory.Instance); // Assert Assert.IsInstanceOf <FailureMechanismSectionAssemblyCalculator>(calculator); } }
/// <summary> /// Performs the assembly based on the <see cref="FailureMechanismSectionAssemblyInput"/>. /// </summary> /// <param name="input">The input to use in the assembly.</param> /// <returns>A <see cref="FailureMechanismSectionAssemblyResultWrapper"/>.</returns> /// <exception cref="AssemblyException">Thrown when the section could not be successfully assembled.</exception> private static FailureMechanismSectionAssemblyResultWrapper PerformAssembly(FailureMechanismSectionAssemblyInput input) { IFailureMechanismSectionAssemblyCalculator calculator = AssemblyToolCalculatorFactory.Instance.CreateFailureMechanismSectionAssemblyCalculator( AssemblyToolKernelFactory.Instance); try { return(input is FailureMechanismSectionWithProfileProbabilityAssemblyInput probabilityAssemblyInput ? calculator.AssembleFailureMechanismSection(probabilityAssemblyInput) : calculator.AssembleFailureMechanismSection(input)); } catch (FailureMechanismSectionAssemblyCalculatorException e) { throw new AssemblyException(e.Message, e); } }