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 AssembleAssessmentSection_KernelThrowsAssemblyException_ThrowsAssessmentSectionAssemblyCalculatorException() { // Setup var random = new Random(21); double signalFloodingProbability = random.NextDouble(); double maximumAllowableFloodingProbability = signalFloodingProbability + 1e-3; using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory)AssemblyToolKernelFactory.Instance; AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; kernel.ThrowAssemblyExceptionOnCalculate = true; var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call void Call() => calculator.AssembleAssessmentSection(Enumerable.Empty <double>(), maximumAllowableFloodingProbability, signalFloodingProbability); // Assert var exception = Assert.Throws <AssessmentSectionAssemblyCalculatorException>(Call); Assert.IsInstanceOf <AssemblyException>(exception.InnerException); Assert.AreEqual(AssemblyErrorMessageCreator.CreateErrorMessage(new[] { AssemblyErrorMessageTestHelper.Create(string.Empty, EAssemblyErrors.InvalidCategoryLimits) }), exception.Message); } }
public void CalculateAssessmentSectionAssemblyGroupBoundaries_KernelThrowsAssemblyException_ThrowAssessmentSectionAssemblyGroupBoundariesCalculatorException() { // Setup var random = new Random(11); double maximumAllowableFloodingProbability = random.NextDouble(0.5, 1.0); double signalFloodingProbability = random.NextDouble(0.0, 0.5); using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory)AssemblyToolKernelFactory.Instance; AssemblyCategoryLimitsKernelStub kernel = factory.LastCreatedAssemblyCategoryLimitsKernel; kernel.ThrowAssemblyExceptionOnCalculate = true; var calculator = new AssessmentSectionAssemblyGroupBoundariesCalculator(factory); // Call void Call() => calculator.CalculateAssessmentSectionAssemblyGroupBoundaries(signalFloodingProbability, maximumAllowableFloodingProbability); // Assert var exception = Assert.Throws <AssessmentSectionAssemblyGroupBoundariesCalculatorException>(Call); Assert.IsInstanceOf <AssemblyException>(exception.InnerException); Assert.AreEqual(AssemblyErrorMessageCreator.CreateErrorMessage(new[] { AssemblyErrorMessageTestHelper.Create(string.Empty, EAssemblyErrors.EmptyResultsList) }), exception.Message); } }
public void CreateErrorMessage_SingleAssemblyError_ReturnsExpectedErrorMessage(EAssemblyErrors assemblyError, string expectedErrorMessage) { // Call string errorMessage = AssemblyErrorMessageCreator.CreateErrorMessage(new[] { AssemblyErrorMessageTestHelper.Create(string.Empty, assemblyError) }); // Assert Assert.AreEqual(expectedErrorMessage, errorMessage); }
public void CreateErrorMessage_InvalidAssemblyError_ThrowsInvalidEnumArgumentException() { // Call void Call() => AssemblyErrorMessageCreator.CreateErrorMessage(new[] { AssemblyErrorMessageTestHelper.Create(string.Empty, (EAssemblyErrors)9999) }); // Assert var expectedMessage = $"The value of argument 'assemblyError' (9999) is invalid for Enum type '{nameof(EAssemblyErrors)}'."; TestHelper.AssertThrowsArgumentExceptionAndTestMessage <InvalidEnumArgumentException>(Call, expectedMessage); }
public void CreateErrorMessage_MultipleAssemblyErrors_ReturnsExpectedErrorMessage() { // Call string errorMessage = AssemblyErrorMessageCreator.CreateErrorMessage(new[] { AssemblyErrorMessageTestHelper.Create(string.Empty, EAssemblyErrors.LengthEffectFactorOutOfRange), AssemblyErrorMessageTestHelper.Create(string.Empty, EAssemblyErrors.FailureProbabilityOutOfRange) }); // Assert Assert.AreEqual("- Lengte-effect factor moet minimaal 1 zijn.\n" + "- De gespecificeerde kans moet in het bereik [0,1] liggen.\n", errorMessage); }