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 CalculateAssessmentSectionAssemblyGroupBoundaries_KernelWithCompleteOutput_OutputCorrectlyReturnedByCalculator() { // Setup var random = new Random(11); double maximumAllowableFloodingProbability = random.NextDouble(0.5, 1.0); double signalFloodingProbability = random.NextDouble(0.0, 0.5); CategoriesList <AssessmentSectionCategory> assessmentSectionCategories = CreateAssessmentSectionCategories(); using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory)AssemblyToolKernelFactory.Instance; AssemblyCategoryLimitsKernelStub kernel = factory.LastCreatedAssemblyCategoryLimitsKernel; kernel.AssessmentSectionCategoryLimits = assessmentSectionCategories; var calculator = new AssessmentSectionAssemblyGroupBoundariesCalculator(factory); // Call IEnumerable <AssessmentSectionAssemblyGroupBoundaries> result = calculator.CalculateAssessmentSectionAssemblyGroupBoundaries(signalFloodingProbability, maximumAllowableFloodingProbability); // Assert AssessmentSectionAssemblyGroupBoundariesAssert.AssertAssessmentSectionAssemblyGroupBoundaries(assessmentSectionCategories, result); } }
public void CalculateAssessmentSectionAssemblyGroupBoundaries_WithInput_InputCorrectlySetToKernel() { // 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.AssessmentSectionCategoryLimits = CreateAssessmentSectionCategories(); var calculator = new AssessmentSectionAssemblyGroupBoundariesCalculator(factory); // Call calculator.CalculateAssessmentSectionAssemblyGroupBoundaries(signalFloodingProbability, maximumAllowableFloodingProbability); // Assert Assert.AreEqual(maximumAllowableFloodingProbability, kernel.AssessmentSection.MaximumAllowableFloodingProbability); Assert.AreEqual(signalFloodingProbability, kernel.AssessmentSection.SignalFloodingProbability); } }