public void GivenScenarioRow_WhenOutputChangedAndUpdate_ThenDerivedOutputUpdated()
        {
            // Given
            var calculation = new StructuresCalculationScenario <StabilityPointStructuresInput>
            {
                Output = new TestStructuresOutput()
            };

            var row = new StabilityPointStructuresScenarioRow(calculation);

            // Precondition
            ProbabilityAssessmentOutput expectedDerivedOutput = ProbabilityAssessmentOutputFactory.Create(calculation.Output.Reliability);

            Assert.AreEqual(expectedDerivedOutput.Probability, row.FailureProbability);

            var random = new Random(11);

            // When
            calculation.Output = new TestStructuresOutput(random.NextDouble());
            row.Update();

            // Then
            ProbabilityAssessmentOutput newExpectedDerivedOutput = ProbabilityAssessmentOutputFactory.Create(calculation.Output.Reliability);

            Assert.AreEqual(newExpectedDerivedOutput.Probability, row.FailureProbability);
        }
        public void Constructor_WithCalculationWithoutOutput_PropertiesFromCalculation()
        {
            // Setup
            var calculation = new StructuresCalculationScenario <StabilityPointStructuresInput>();

            // Call
            var row = new StabilityPointStructuresScenarioRow(calculation);

            // Assert
            Assert.IsNaN(row.FailureProbability);
        }
        public void Constructor_ExpectedValues()
        {
            // Setup
            var calculation = new StructuresCalculationScenario <StabilityPointStructuresInput>();

            // Call
            var row = new StabilityPointStructuresScenarioRow(calculation);

            // Assert
            Assert.IsInstanceOf <ScenarioRow <StructuresCalculationScenario <StabilityPointStructuresInput> > >(row);
            Assert.AreSame(calculation, row.CalculationScenario);
        }
        public void Constructor_WithCalculationWithOutput_PropertiesFromCalculation()
        {
            // Setup
            var calculation = new StructuresCalculationScenario <StabilityPointStructuresInput>
            {
                Output = new TestStructuresOutput()
            };

            // Call
            var row = new StabilityPointStructuresScenarioRow(calculation);

            // Assert
            ProbabilityAssessmentOutput expectedDerivedOutput = ProbabilityAssessmentOutputFactory.Create(calculation.Output.Reliability);

            Assert.AreEqual(expectedDerivedOutput.Probability, row.FailureProbability);
        }
        public void GivenScenarioRow_WhenOutputSetAndUpdate_ThenDerivedOutputUpdated()
        {
            // Given
            var calculation = new StructuresCalculationScenario <StabilityPointStructuresInput>();

            var row = new StabilityPointStructuresScenarioRow(calculation);

            // Precondition
            Assert.IsNaN(row.FailureProbability);

            // When
            calculation.Output = new TestStructuresOutput();
            row.Update();

            // Then
            ProbabilityAssessmentOutput expectedDerivedOutput = ProbabilityAssessmentOutputFactory.Create(calculation.Output.Reliability);

            Assert.AreEqual(expectedDerivedOutput.Probability, row.FailureProbability);
        }