private void UpdateTableData()
 {
     assemblyGroupsTable.SetData(
         AssessmentSectionAssemblyGroupBoundariesFactory.CreateAssessmentSectionAssemblyGroupBoundaries(
             FailureMechanismContribution.SignalFloodingProbability,
             FailureMechanismContribution.MaximumAllowableFloodingProbability)
         .Select(group => new Tuple <AssemblyGroupBoundaries, Color, AssessmentSectionAssemblyGroup>(
                     group,
                     AssessmentSectionAssemblyGroupColorHelper.GetAssessmentSectionAssemblyGroupColor(group.AssessmentSectionAssemblyGroup),
                     group.AssessmentSectionAssemblyGroup)).ToArray());
 }
        public void CreateAssessmentSectionAssemblyGroupBoundaries_CalculatorThrowsException_ThrowsAssemblyException()
        {
            // Setup
            using (new AssemblyToolCalculatorFactoryConfig())
            {
                var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance;
                AssessmentSectionAssemblyGroupBoundariesCalculatorStub calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyGroupBoundariesCalculator;
                calculator.ThrowExceptionOnCalculate = true;

                // Call
                void Call() => AssessmentSectionAssemblyGroupBoundariesFactory.CreateAssessmentSectionAssemblyGroupBoundaries(0, 0);

                // Assert
                var exception = Assert.Throws <AssemblyException>(Call);
                Assert.IsInstanceOf <AssessmentSectionAssemblyGroupBoundariesCalculatorException>(exception.InnerException);
                Assert.AreEqual(exception.InnerException.Message, exception.Message);
            }
        }
Beispiel #3
0
        private AssessmentSectionAssemblyGroupProperties[] GetAssessmentSectionAssemblyGroups()
        {
            FailureMechanismContribution contribution = data.FailureMechanismContribution;

            AssessmentSectionAssemblyGroupProperties[] dataToSet;

            try
            {
                dataToSet = AssessmentSectionAssemblyGroupBoundariesFactory.CreateAssessmentSectionAssemblyGroupBoundaries(contribution.SignalFloodingProbability, contribution.MaximumAllowableFloodingProbability)
                            .Select(assemblyGroupBoundaries => new AssessmentSectionAssemblyGroupProperties(assemblyGroupBoundaries))
                            .ToArray();
            }
            catch (AssemblyException)
            {
                dataToSet = Array.Empty <AssessmentSectionAssemblyGroupProperties>();
            }

            return(dataToSet);
        }
        public void CreateAssessmentSectionAssemblyGroupBoundaries_WithInput_SetsInputOnCalculator()
        {
            // Setup
            var    random = new Random(11);
            double signalFloodingProbability           = random.NextDouble();
            double maximumAllowableFloodingProbability = random.NextDouble();

            using (new AssemblyToolCalculatorFactoryConfig())
            {
                var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance;
                AssessmentSectionAssemblyGroupBoundariesCalculatorStub calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyGroupBoundariesCalculator;

                // Call
                AssessmentSectionAssemblyGroupBoundariesFactory.CreateAssessmentSectionAssemblyGroupBoundaries(signalFloodingProbability, maximumAllowableFloodingProbability);

                // Assert
                Assert.AreEqual(signalFloodingProbability, calculator.SignalFloodingProbability);
                Assert.AreEqual(maximumAllowableFloodingProbability, calculator.MaximumAllowableFloodingProbability);
            }
        }
        public void CreateAssessmentSectionAssemblyGroupBoundaries_CalculatorRan_ReturnsOutput()
        {
            // Setup
            var    random = new Random(11);
            double signalFloodingProbability           = random.NextDouble();
            double maximumAllowableFloodingProbability = random.NextDouble();

            using (new AssemblyToolCalculatorFactoryConfig())
            {
                var calculatorFactory = (TestAssemblyToolCalculatorFactory)AssemblyToolCalculatorFactory.Instance;
                AssessmentSectionAssemblyGroupBoundariesCalculatorStub calculator = calculatorFactory.LastCreatedAssessmentSectionAssemblyGroupBoundariesCalculator;

                // Call
                AssessmentSectionAssemblyGroupBoundaries[] output = AssessmentSectionAssemblyGroupBoundariesFactory.CreateAssessmentSectionAssemblyGroupBoundaries(signalFloodingProbability, maximumAllowableFloodingProbability).ToArray();

                // Assert
                AssessmentSectionAssemblyGroupBoundaries[] calculatorOutput = calculator.AssessmentSectionAssemblyGroupBoundariesOutput.ToArray();

                Assert.AreEqual(calculatorOutput.Length, output.Length);
                CollectionAssert.AreEqual(calculatorOutput.Select(co => co.LowerBoundary), output.Select(o => o.LowerBoundary));
                CollectionAssert.AreEqual(calculatorOutput.Select(co => co.UpperBoundary), output.Select(o => o.UpperBoundary));
                CollectionAssert.AreEqual(calculatorOutput.Select(co => co.AssessmentSectionAssemblyGroup), output.Select(o => o.AssessmentSectionAssemblyGroup));
            }
        }