public void AssembleAssessmentSection_KernelWithCompleteOutput_OutputCorrectlyReturnedByCalculator() { // 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; var assemblyProbability = new Probability(random.NextDouble()); var assemblyGroup = random.NextEnumValue <EAssessmentGrade>(); kernel.AssemblyProbability = assemblyProbability; kernel.AssemblyGroup = assemblyGroup; var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call AssessmentSectionAssemblyResultWrapper resultWrapper = calculator.AssembleAssessmentSection( Enumerable.Empty <double>(), maximumAllowableFloodingProbability, signalFloodingProbability); // Assert AssessmentSectionAssemblyResult result = resultWrapper.AssemblyResult; Assert.AreEqual(assemblyProbability, result.Probability); Assert.AreEqual(AssessmentSectionAssemblyGroupCreator.CreateAssessmentSectionAssemblyGroup(assemblyGroup), result.AssemblyGroup); Assert.AreEqual(AssemblyMethod.BOI2A1, resultWrapper.ProbabilityMethod); Assert.AreEqual(AssemblyMethod.BOI2B1, resultWrapper.AssemblyGroupMethod); } }
/// <summary> /// Creates an <see cref="ExportableAssessmentSectionAssemblyResult"/> with the assembly result /// based on <paramref name="assessmentSection"/>. /// </summary> /// <param name="assessmentSection">The assessment section to create an <see cref="ExportableAssessmentSectionAssemblyResult"/> for.</param> /// <returns>An <see cref="ExportableAssessmentSectionAssemblyResult"/> with assembly result.</returns> /// <exception cref="AssemblyException">Thrown when assembly result cannot be created for <paramref name="assessmentSection"/>.</exception> private static ExportableAssessmentSectionAssemblyResult CreateExportableAssessmentSectionAssemblyResult(AssessmentSection assessmentSection) { AssessmentSectionAssemblyResultWrapper assemblyResultWrapper = AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection); AssessmentSectionAssemblyResult assemblyResult = assemblyResultWrapper.AssemblyResult; return(new ExportableAssessmentSectionAssemblyResult( assemblyResult.AssemblyGroup, assemblyResult.Probability, ExportableAssemblyMethodFactory.Create(assemblyResultWrapper.AssemblyGroupMethod), ExportableAssemblyMethodFactory.Create(assemblyResultWrapper.ProbabilityMethod))); }
public AssessmentSectionAssemblyResultWrapper AssembleAssessmentSection(IEnumerable <double> failureMechanismProbabilities, double maximumAllowableFloodingProbability, double signalFloodingProbability) { if (ThrowExceptionOnCalculate) { throw new AssessmentSectionAssemblyCalculatorException("Message", new Exception()); } FailureMechanismProbabilitiesInput = failureMechanismProbabilities; MaximumAllowableFloodingProbabilityInput = maximumAllowableFloodingProbability; SignalFloodingProbability = signalFloodingProbability; return(AssessmentSectionAssemblyResult ?? (AssessmentSectionAssemblyResult = new AssessmentSectionAssemblyResultWrapper( new AssessmentSectionAssemblyResult(0.14, AssessmentSectionAssemblyGroup.APlus), AssemblyMethod.BOI2A1, AssemblyMethod.BOI2B1))); }
public void AssembleAssessmentSection_AssemblyRan_ReturnsOutput() { // Setup AssessmentSection assessmentSection = CreateAssessmentSectionContainingFailureMechanismsWithInAssemblyTrue(); using (new AssemblyToolCalculatorFactoryConfig()) { var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance; AssessmentSectionAssemblyCalculatorStub assessmentSectionAssemblyCalculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyCalculator; // Call AssessmentSectionAssemblyResultWrapper result = AssessmentSectionAssemblyFactory.AssembleAssessmentSection(assessmentSection); // Assert Assert.AreSame(assessmentSectionAssemblyCalculator.AssessmentSectionAssemblyResult, result); } }
public void Constructor_ExpectedValues() { // Setup var random = new Random(21); var assemblyResult = new AssessmentSectionAssemblyResult( random.NextDouble(), random.NextEnumValue <AssessmentSectionAssemblyGroup>()); var probabilityMethod = random.NextEnumValue <AssemblyMethod>(); var assemblyGroupMethod = random.NextEnumValue <AssemblyMethod>(); // Call var wrapper = new AssessmentSectionAssemblyResultWrapper(assemblyResult, probabilityMethod, assemblyGroupMethod); // Assert Assert.AreSame(assemblyResult, wrapper.AssemblyResult); Assert.AreEqual(probabilityMethod, wrapper.ProbabilityMethod); Assert.AreEqual(assemblyGroupMethod, wrapper.AssemblyGroupMethod); }