public void AssembleCombinedFailureMechanismSections_KernelThrowsAssemblyException_ThrowsAssessmentSectionAssemblyCalculatorException() { // Setup var random = new Random(21); using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory)AssemblyToolKernelFactory.Instance; CombinedFailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedCombinedFailureMechanismSectionAssemblyKernel; kernel.ThrowAssemblyExceptionOnCalculate = true; var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call void Call() => calculator.AssembleCombinedFailureMechanismSections(new[] { new[] { new CombinedAssemblyFailureMechanismSection(0, 1, random.NextEnumValue <FailureMechanismSectionAssemblyGroup>()) } }, random.NextDouble()); // Assert var exception = Assert.Throws <AssessmentSectionAssemblyCalculatorException>(Call); Assert.IsInstanceOf <AssemblyException>(exception.InnerException); Assert.AreEqual(AssemblyErrorMessageCreator.CreateErrorMessage(new[] { AssemblyErrorMessageTestHelper.Create(string.Empty, EAssemblyErrors.EmptyResultsList) }), exception.Message); } }
public void AssembleCombinedFailureMechanismSections_KernelWithInvalidOutput_ThrowsAssessmentSectionAssemblyCalculatorException() { // Setup var random = new Random(21); using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory)AssemblyToolKernelFactory.Instance; CombinedFailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedCombinedFailureMechanismSectionAssemblyKernel; kernel.FailureMechanismResult = new FailureMechanismSectionList(new[] { new FailureMechanismSectionWithCategory(0, 1, (EInterpretationCategory)99) }); var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call void Call() => calculator.AssembleCombinedFailureMechanismSections(new[] { new[] { new CombinedAssemblyFailureMechanismSection(0, 1, random.NextEnumValue <FailureMechanismSectionAssemblyGroup>()) } }, random.NextDouble()); // Assert var exception = Assert.Throws <AssessmentSectionAssemblyCalculatorException>(Call); Assert.IsInstanceOf <InvalidEnumArgumentException>(exception.InnerException); Assert.AreEqual(AssemblyErrorMessageCreator.CreateGenericErrorMessage(), exception.Message); } }
public void AssembleCombinedFailureMechanismSections_KernelWithCompleteOutput_OutputCorrectlyReturnedByCalculator() { // Setup var random = new Random(39); using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory)AssemblyToolKernelFactory.Instance; var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call CombinedFailureMechanismSectionAssemblyResultWrapper output = calculator.AssembleCombinedFailureMechanismSections(new[] { new[] { new CombinedAssemblyFailureMechanismSection(0, 1, random.NextEnumValue <FailureMechanismSectionAssemblyGroup>()) } }, random.NextDouble()); // Assert CombinedFailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedCombinedFailureMechanismSectionAssemblyKernel; CombinedFailureMechanismSectionAssemblyAssert.AssertAssembly(new[] { kernel.FailureMechanismResult }, kernel.CombinedSectionResults, output.AssemblyResults); Assert.AreEqual(AssemblyMethod.BOI3A1, output.CommonSectionAssemblyMethod); Assert.AreEqual(AssemblyMethod.BOI3B1, output.FailureMechanismResultsAssemblyMethod); Assert.AreEqual(AssemblyMethod.BOI3C1, output.CombinedSectionResultAssemblyMethod); } }
/// <summary> /// Creates a new instance of <see cref="TestAssemblyToolKernelFactory"/>. /// </summary> public TestAssemblyToolKernelFactory() { LastCreatedAssemblyCategoryLimitsKernel = new AssemblyCategoryLimitsKernelStub(); LastCreatedFailureMechanismSectionAssemblyKernel = new FailureMechanismSectionAssemblyKernelStub(); LastCreatedFailureMechanismAssemblyKernel = new FailureMechanismAssemblyKernelStub(); LastCreatedCombinedFailureMechanismSectionAssemblyKernel = new CombinedFailureMechanismSectionAssemblyKernelStub(); LastCreatedAssessmentSectionAssemblyKernel = new AssessmentSectionAssemblyKernelStub(); }
public void AssembleCombinedFailureMechanismSections_WithValidInput_InputCorrectlySetToKernel() { // Setup var random = new Random(39); var input = new[] { new[] { new CombinedAssemblyFailureMechanismSection(0, 1, random.NextEnumValue <FailureMechanismSectionAssemblyGroup>()) } }; double assessmentSectionLength = random.NextDouble(); using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory)AssemblyToolKernelFactory.Instance; CombinedFailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedCombinedFailureMechanismSectionAssemblyKernel; var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call calculator.AssembleCombinedFailureMechanismSections(input, assessmentSectionLength); // Assert CombinedFailureMechanismSectionsInputAssert.AssertCombinedFailureMechanismInput(input, kernel.FailureMechanismSectionLists); Assert.AreEqual(assessmentSectionLength, kernel.AssessmentSectionLength); Assert.IsTrue(kernel.CalculatedCommonSections); Assert.AreSame(kernel.FailureMechanismSectionLists.Single(), kernel.FailureMechanismSectionList); Assert.AreSame(kernel.CommonSections, kernel.CommonSectionsInput); Assert.IsTrue(kernel.CalculatedCommonSectionResults); Assert.AreEqual(1, kernel.FailureMechanismResultsInput.Count()); Assert.AreSame(kernel.FailureMechanismResult, kernel.FailureMechanismResultsInput.First()); Assert.IsFalse(kernel.PartialAssembly); Assert.IsTrue(kernel.CalculatedSectionResults); } }