public void CreateAssessmentSectionAssemblyGroupBoundaries_WithValidAssessmentSectionCategories_ReturnsExpectedAssessmentSectionAssemblyGroups() { // Setup var random = new Random(11); var groups = new CategoriesList <AssessmentSectionCategory>(new[] { new AssessmentSectionCategory(random.NextEnumValue <EAssessmentGrade>(), new Probability(0), new Probability(0.25)), new AssessmentSectionCategory(random.NextEnumValue <EAssessmentGrade>(), new Probability(0.25), new Probability(0.5)), new AssessmentSectionCategory(random.NextEnumValue <EAssessmentGrade>(), new Probability(0.5), new Probability(0.75)), new AssessmentSectionCategory(random.NextEnumValue <EAssessmentGrade>(), new Probability(0.75), new Probability(1)) }); // Call IEnumerable <AssessmentSectionAssemblyGroupBoundaries> assemblyGroups = AssessmentSectionAssemblyGroupCreator.CreateAssessmentSectionAssemblyGroupBoundaries(groups); // Assert AssessmentSectionAssemblyGroupBoundariesAssert.AssertAssessmentSectionAssemblyGroupBoundaries(groups, assemblyGroups); }
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); } }