Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenarioRow.cs =================================================================== diff -u -ra875e5fb4cd5e183164fc0bc9aa5376e7f40d71d -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenarioRow.cs (.../MacroStabilityInwardsScenarioRow.cs) (revision a875e5fb4cd5e183164fc0bc9aa5376e7f40d71d) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenarioRow.cs (.../MacroStabilityInwardsScenarioRow.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -135,7 +135,7 @@ } /// - /// Updates the row with the current derived output of the calculation scenario. + /// Updates the row based on the current output of the calculation scenario. /// public void Update() { Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenariosView.cs =================================================================== diff -u -r7cb99c5ef5ce489899fcc4b987fce48d98acb6f1 -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenariosView.cs (.../MacroStabilityInwardsScenariosView.cs) (revision 7cb99c5ef5ce489899fcc4b987fce48d98acb6f1) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenariosView.cs (.../MacroStabilityInwardsScenariosView.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -76,7 +76,7 @@ .OfType() .Select(pc => pc.InputParameters))); calculationGroupObserver = new RecursiveObserver(UpdateDataGridViewDataSource, cg => cg.Children); - calculationObserver = new RecursiveObserver(UpdateScenarios, cg => cg.Children); + calculationObserver = new RecursiveObserver(UpdateScenarioRows, cg => cg.Children); } /// @@ -187,7 +187,7 @@ dataGridViewControl.SetDataSource(scenarioRows); } - private void UpdateScenarios() + private void UpdateScenarioRows() { scenarioRows.ForEachElementDo(row => row.Update()); dataGridViewControl.RefreshDataGridView(); Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsCalculationScenarioTestFactoryTest.cs =================================================================== diff -u -r3bcc8993307e3b6dea8f496d6acbc9c474581787 -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsCalculationScenarioTestFactoryTest.cs (.../MacroStabilityInwardsCalculationScenarioTestFactoryTest.cs) (revision 3bcc8993307e3b6dea8f496d6acbc9c474581787) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsCalculationScenarioTestFactoryTest.cs (.../MacroStabilityInwardsCalculationScenarioTestFactoryTest.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -173,14 +173,19 @@ MacroStabilityInwardsOutput output = scenario.Output; Assert.IsNotNull(output); - Assert.IsFalse(double.IsNaN(output.FactorOfStability) && double.IsInfinity(output.FactorOfStability)); - Assert.IsFalse(double.IsNaN(output.ZValue) && double.IsInfinity(output.ZValue)); - Assert.IsFalse(double.IsNaN(output.ForbiddenZonesXEntryMax) && double.IsInfinity(output.ForbiddenZonesXEntryMax)); - Assert.IsFalse(double.IsNaN(output.ForbiddenZonesXEntryMin) && double.IsInfinity(output.ForbiddenZonesXEntryMin)); + Assert.IsTrue(IsValidDouble(output.FactorOfStability)); + Assert.IsTrue(IsValidDouble(output.ZValue)); + Assert.IsTrue(IsValidDouble(output.ForbiddenZonesXEntryMax)); + Assert.IsTrue(IsValidDouble(output.ForbiddenZonesXEntryMin)); Assert.IsNotNull(output.SlidingCurve); Assert.IsNotNull(output.SlipPlane); } + private static bool IsValidDouble(double value) + { + return !double.IsNaN(value) && !double.IsInfinity(value); + } + private static void AssertInput(MacroStabilityInwardsInput inputParameters) { Assert.AreEqual(MacroStabilityInwardsDikeSoilScenario.SandDikeOnClay, Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsOutputTestFactoryTest.cs =================================================================== diff -u -r3bcc8993307e3b6dea8f496d6acbc9c474581787 -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsOutputTestFactoryTest.cs (.../MacroStabilityInwardsOutputTestFactoryTest.cs) (revision 3bcc8993307e3b6dea8f496d6acbc9c474581787) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsOutputTestFactoryTest.cs (.../MacroStabilityInwardsOutputTestFactoryTest.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -101,12 +101,17 @@ // Assert Assert.IsNotNull(output); - Assert.IsFalse(double.IsNaN(output.FactorOfStability) && double.IsInfinity(output.FactorOfStability)); - Assert.IsFalse(double.IsNaN(output.ZValue) && double.IsInfinity(output.ZValue)); - Assert.IsFalse(double.IsNaN(output.ForbiddenZonesXEntryMax) && double.IsInfinity(output.ForbiddenZonesXEntryMax)); - Assert.IsFalse(double.IsNaN(output.ForbiddenZonesXEntryMin) && double.IsInfinity(output.ForbiddenZonesXEntryMin)); + Assert.IsTrue(IsValidDouble(output.FactorOfStability)); + Assert.IsTrue(IsValidDouble(output.ZValue)); + Assert.IsTrue(IsValidDouble(output.ForbiddenZonesXEntryMax)); + Assert.IsTrue(IsValidDouble(output.ForbiddenZonesXEntryMin)); Assert.IsNotNull(output.SlidingCurve); Assert.IsNotNull(output.SlipPlane); } + + private static bool IsValidDouble(double value) + { + return !double.IsNaN(value) && !double.IsInfinity(value); + } } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs =================================================================== diff -u -rbdfc832a125e7fac88579677e784a29a7ca1340b -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewTest.cs) (revision bdfc832a125e7fac88579677e784a29a7ca1340b) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsFailureMechanismResultViewTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewTest.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -359,7 +359,7 @@ // Assert Assert.IsEmpty(dataGridViewCell.ErrorText); - Assert.AreEqual($"1/{1 / 1}", + Assert.AreEqual("1/1", formattedValue); } } Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsScenariosViewTest.cs =================================================================== diff -u -r7cb99c5ef5ce489899fcc4b987fce48d98acb6f1 -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsScenariosViewTest.cs (.../MacroStabilityInwardsScenariosViewTest.cs) (revision 7cb99c5ef5ce489899fcc4b987fce48d98acb6f1) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsScenariosViewTest.cs (.../MacroStabilityInwardsScenariosViewTest.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -328,7 +328,6 @@ } [Test] - [SetCulture("nl-NL")] public void GivenMacroStabilityInwardscenarioView_WhenCalculationNotifiesObserver_ThenViewUpdated() { // Given @@ -340,8 +339,6 @@ dataGridView.Invalidated += (sender, args) => refreshed++; DataGridViewRowCollection rows = dataGridView.Rows; - Assert.AreEqual(2, rows.Count); - DataGridViewRow calculationRow = rows[1]; MacroStabilityInwardsCalculationScenario calculation = ((MacroStabilityInwardsScenarioRow) calculationRow.DataBoundItem).Calculation; Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/MacroStabilityInwardsScenariosContextTreeNodeInfoTest.cs =================================================================== diff -u -r3bcc8993307e3b6dea8f496d6acbc9c474581787 -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/MacroStabilityInwardsScenariosContextTreeNodeInfoTest.cs (.../MacroStabilityInwardsScenariosContextTreeNodeInfoTest.cs) (revision 3bcc8993307e3b6dea8f496d6acbc9c474581787) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/TreeNodeInfos/MacroStabilityInwardsScenariosContextTreeNodeInfoTest.cs (.../MacroStabilityInwardsScenariosContextTreeNodeInfoTest.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -27,10 +27,7 @@ using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; -using Ringtoets.Common.Data.AssessmentSection; -using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Forms.Properties; -using Ringtoets.MacroStabilityInwards.Data; using Ringtoets.MacroStabilityInwards.Forms.PresentationObjects; namespace Ringtoets.MacroStabilityInwards.Plugin.Test.TreeNodeInfos Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingOutputProperties.cs =================================================================== diff -u -r3bcc8993307e3b6dea8f496d6acbc9c474581787 -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingOutputProperties.cs (.../PipingOutputProperties.cs) (revision 3bcc8993307e3b6dea8f496d6acbc9c474581787) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingOutputProperties.cs (.../PipingOutputProperties.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -28,7 +28,6 @@ using Ringtoets.Common.Forms.Helpers; using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.Properties; -using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Piping.Forms.PropertyClasses { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingScenarioRow.cs =================================================================== diff -u -ra875e5fb4cd5e183164fc0bc9aa5376e7f40d71d -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingScenarioRow.cs (.../PipingScenarioRow.cs) (revision a875e5fb4cd5e183164fc0bc9aa5376e7f40d71d) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingScenarioRow.cs (.../PipingScenarioRow.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -176,7 +176,7 @@ } /// - /// Updates the row with the current derived output of the calculation scenario. + /// Updates the row based on the current output of the calculation scenario. /// public void Update() { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingScenariosView.cs =================================================================== diff -u -r7cb99c5ef5ce489899fcc4b987fce48d98acb6f1 -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingScenariosView.cs (.../PipingScenariosView.cs) (revision 7cb99c5ef5ce489899fcc4b987fce48d98acb6f1) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingScenariosView.cs (.../PipingScenariosView.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -73,7 +73,7 @@ // The concat is needed to observe the input of calculations in child groups. pipingInputObserver = new RecursiveObserver(UpdateDataGridViewDataSource, pcg => pcg.Children.Concat(pcg.Children.OfType().Select(pc => pc.InputParameters))); pipingCalculationGroupObserver = new RecursiveObserver(UpdateDataGridViewDataSource, pcg => pcg.Children); - pipingCalculationObserver = new RecursiveObserver(UpdateScenarios, pcg => pcg.Children); + pipingCalculationObserver = new RecursiveObserver(UpdateScenarioRows, pcg => pcg.Children); } /// @@ -193,7 +193,7 @@ dataGridViewControl.SetDataSource(pipingScenarioRows); } - private void UpdateScenarios() + private void UpdateScenarioRows() { pipingScenarioRows.ForEachElementDo(row => row.Update()); dataGridViewControl.RefreshDataGridView(); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenariosViewTest.cs =================================================================== diff -u -r8b37c0f11e7d78b71c298763124973e94845c87b -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenariosViewTest.cs (.../PipingScenariosViewTest.cs) (revision 8b37c0f11e7d78b71c298763124973e94845c87b) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenariosViewTest.cs (.../PipingScenariosViewTest.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -35,6 +35,7 @@ using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.TestUtil; +using Ringtoets.Common.Forms.Helpers; using Ringtoets.Piping.Data; using Ringtoets.Piping.Data.TestUtil; using Ringtoets.Piping.Forms.Views; @@ -212,7 +213,6 @@ } [Test] - [SetCulture("nl-NL")] public void PipingScenarioView_CalculationsWithAllDataSet_DataGridViewCorrectlyInitialized() { // Setup & Call @@ -239,10 +239,10 @@ Assert.IsTrue(Convert.ToBoolean(cells[isRelevantColumnIndex].FormattedValue)); Assert.AreEqual(100.ToString(CultureInfo.CurrentCulture), cells[contributionColumnIndex].FormattedValue); Assert.AreEqual("Calculation 2", cells[nameColumnIndex].FormattedValue); - Assert.AreEqual("1/4.123", cells[failureProbabilityPipingColumnIndex].FormattedValue); - Assert.AreEqual("1/4.123", cells[failureProbabilityUpliftColumnIndex].FormattedValue); - Assert.AreEqual("1/26", cells[failureProbabilityHeaveColumnIndex].FormattedValue); - Assert.AreEqual("1/36", cells[failureProbabilitySellmeijerColumnIndex].FormattedValue); + Assert.AreEqual(ProbabilityFormattingHelper.Format(2.425418e-4), cells[failureProbabilityPipingColumnIndex].FormattedValue); + Assert.AreEqual(ProbabilityFormattingHelper.Format(2.425418e-4), cells[failureProbabilityUpliftColumnIndex].FormattedValue); + Assert.AreEqual(ProbabilityFormattingHelper.Format(0.038461838), cells[failureProbabilityHeaveColumnIndex].FormattedValue); + Assert.AreEqual(ProbabilityFormattingHelper.Format(0.027777778), cells[failureProbabilitySellmeijerColumnIndex].FormattedValue); } [Test] @@ -337,7 +337,6 @@ } [Test] - [SetCulture("nl-NL")] public void GivenPipingScenarioView_WhenCalculationNotifiesObserver_ThenViewUpdated() { // Given @@ -349,18 +348,16 @@ dataGridView.Invalidated += (sender, args) => refreshed++; DataGridViewRowCollection rows = dataGridView.Rows; - Assert.AreEqual(2, rows.Count); - DataGridViewRow calculationRow = rows[1]; PipingCalculationScenario calculation = ((PipingScenarioRow) calculationRow.DataBoundItem).Calculation; // Precondition DataGridViewCellCollection cells = calculationRow.Cells; Assert.AreEqual(7, cells.Count); - Assert.AreEqual("1/4.123", cells[failureProbabilityPipingColumnIndex].FormattedValue); - Assert.AreEqual("1/4.123", cells[failureProbabilityUpliftColumnIndex].FormattedValue); - Assert.AreEqual("1/26", cells[failureProbabilityHeaveColumnIndex].FormattedValue); - Assert.AreEqual("1/36", cells[failureProbabilitySellmeijerColumnIndex].FormattedValue); + Assert.AreEqual(ProbabilityFormattingHelper.Format(2.425418e-4), cells[failureProbabilityPipingColumnIndex].FormattedValue); + Assert.AreEqual(ProbabilityFormattingHelper.Format(2.425418e-4), cells[failureProbabilityUpliftColumnIndex].FormattedValue); + Assert.AreEqual(ProbabilityFormattingHelper.Format(0.038461838), cells[failureProbabilityHeaveColumnIndex].FormattedValue); + Assert.AreEqual(ProbabilityFormattingHelper.Format(0.027777778), cells[failureProbabilitySellmeijerColumnIndex].FormattedValue); // When calculation.ClearOutput(); Index: Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs =================================================================== diff -u -r8b37c0f11e7d78b71c298763124973e94845c87b -reb4e08c0608aa4d157d50dba3fa4a85976eece20 --- Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs (.../PipingFailureMechanismResultViewIntegrationTest.cs) (revision 8b37c0f11e7d78b71c298763124973e94845c87b) +++ Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs (.../PipingFailureMechanismResultViewIntegrationTest.cs) (revision eb4e08c0608aa4d157d50dba3fa4a85976eece20) @@ -27,6 +27,7 @@ using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.Common.Forms.Helpers; using Ringtoets.Integration.Data; using Ringtoets.Integration.TestUtil; using Ringtoets.Piping.Data; @@ -123,15 +124,15 @@ // Execute the first calculation and ensure the data grid view is updated pipingCalculation1.Output = PipingOutputTestFactory.Create(); pipingCalculation1.NotifyObservers(); - Assert.AreEqual("1/4.123", + Assert.AreEqual(ProbabilityFormattingHelper.Format(2.425418e-4), dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].FormattedValue); Assert.IsEmpty(dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].ErrorText); // Add another, nested calculation without surface line and ensure the data grid view is updated when the surface line is set var pipingCalculation3 = new PipingCalculationScenario(new GeneralPipingInput()); nestedPipingCalculationGroup.Children.Add(pipingCalculation3); nestedPipingCalculationGroup.NotifyObservers(); - Assert.AreEqual("1/4.123", + Assert.AreEqual(ProbabilityFormattingHelper.Format(2.425418e-4), dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].FormattedValue); Assert.IsEmpty(dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].ErrorText); @@ -165,7 +166,7 @@ // Set contribution again so we have a probability. pipingCalculation1.Contribution = (RoundedDouble) 1.0; pipingCalculation1.NotifyObservers(); - Assert.AreEqual("1/4.123", + Assert.AreEqual(ProbabilityFormattingHelper.Format(2.425418e-4), dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].FormattedValue); Assert.IsEmpty(dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].ErrorText);