Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingOutputProperties.cs =================================================================== diff -u -r0f2cc55f2217e523d55eb173d3769f764ebc28a0 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingOutputProperties.cs (.../PipingOutputProperties.cs) (revision 0f2cc55f2217e523d55eb173d3769f764ebc28a0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingOutputProperties.cs (.../PipingOutputProperties.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -42,7 +42,8 @@ /// Creates a new instance of . /// /// The output to show the properties for. - /// The derived output to show properties for. + /// The failure mechanism the output belongs to. + /// The assessment section the output belongs to. /// Thrown when any parameter /// is null. public PipingOutputProperties(PipingOutput output, PipingFailureMechanism failureMechanism, IAssessmentSection assessmentSection) @@ -52,6 +53,16 @@ throw new ArgumentNullException(nameof(output)); } + if (failureMechanism == null) + { + throw new ArgumentNullException(nameof(failureMechanism)); + } + + if (assessmentSection == null) + { + throw new ArgumentNullException(nameof(assessmentSection)); + } + Data = output; CreateDerivedOutput(output, failureMechanism, assessmentSection); Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/DerivedPipingOutputFactoryTest.cs =================================================================== diff -u -r6c6c25920e249dbd3009b0503c7062a968bf8b36 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/DerivedPipingOutputFactoryTest.cs (.../DerivedPipingOutputFactoryTest.cs) (revision 6c6c25920e249dbd3009b0503c7062a968bf8b36) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/DerivedPipingOutputFactoryTest.cs (.../DerivedPipingOutputFactoryTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -57,11 +57,7 @@ } [Test] - [TestCase(30000, 1.2, 7.36633055700265E-06)] - [TestCase(30000, 1.0, 4.13743266617776E-05)] - [TestCase(20000, 1.2, 9.53352884976163E-06)] - [TestCase(20000, 1.0, 5.24016937211752E-05)] - public void Create_ValidData_ReturnsExpectedValue(int returnPeriod, double factorOfSafety, double expectedResult) + public void Create_ValidData_ReturnsExpectedValue() { // Setup var probabilityAssessmentInput = new PipingProbabilityAssessmentInput @@ -81,12 +77,12 @@ DerivedPipingOutput derivedOutput = DerivedPipingOutputFactory.Create(calculatorResult, probabilityAssessmentInput, norm, 1000); // Assert - Assert.AreEqual(7.3e-6, derivedOutput.UpliftProbability, 1e-6); - Assert.AreEqual(0.004, derivedOutput.HeaveProbability, 1e-6); + Assert.AreEqual(7.3663305570026214e-06, derivedOutput.UpliftProbability, 1e-6); + Assert.AreEqual(7.0183607399734309e-08, derivedOutput.HeaveProbability, 1e-6); Assert.AreEqual(1.0988e-5, derivedOutput.SellmeijerProbability, 1e-6); - Assert.AreEqual(1.33, derivedOutput.PipingReliability, derivedOutput.PipingReliability.GetAccuracy()); - Assert.AreEqual(4.77, derivedOutput.RequiredReliability, derivedOutput.RequiredReliability.GetAccuracy()); - Assert.AreEqual(0.907, derivedOutput.PipingFactorOfSafety, derivedOutput.PipingFactorOfSafety.GetAccuracy()); + Assert.AreEqual(5.26477, derivedOutput.PipingReliability, derivedOutput.PipingReliability.GetAccuracy()); + Assert.AreEqual(3.96281, derivedOutput.RequiredReliability, derivedOutput.RequiredReliability.GetAccuracy()); + Assert.AreEqual(1.329, derivedOutput.PipingFactorOfSafety, derivedOutput.PipingFactorOfSafety.GetAccuracy()); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingCalculationScenarioTest.cs =================================================================== diff -u -red08434acc8f5619842f1c6cb0b7f9a56cf8dad0 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingCalculationScenarioTest.cs (.../PipingCalculationScenarioTest.cs) (revision ed08434acc8f5619842f1c6cb0b7f9a56cf8dad0) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingCalculationScenarioTest.cs (.../PipingCalculationScenarioTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -132,12 +132,9 @@ public void CalculationScenarioStatus_PipingOutputSet_ReturnsStatusDone() { // Setup - const double expectedProbability = 1.0 / 49862180; - var scenario = new PipingCalculationScenario(new GeneralPipingInput()) { - Output = new TestPipingOutput(), -// SemiProbabilisticOutput = new TestDerivedPipingOutput(expectedProbability) + Output = new TestPipingOutput() }; // Call Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs =================================================================== diff -u -red08434acc8f5619842f1c6cb0b7f9a56cf8dad0 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs (.../PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs) (revision ed08434acc8f5619842f1c6cb0b7f9a56cf8dad0) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs (.../PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -25,6 +25,7 @@ using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.TestUtil; using Ringtoets.Piping.Data.TestUtil; @@ -38,19 +39,16 @@ public void GetAssessmentLayerTwoA_MultipleScenarios_ReturnsValueBasedOnRelevantAndDoneScenarios() { // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - var failureMechanism = new PipingFailureMechanism(); + var mocks = new MockRepository(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section); const double contribution1 = 0.2; const double contribution2 = 0.8; - const double probability1 = 1.0 / 1000000.0; - const double probability2 = 1.0 / 2000000.0; PipingCalculationScenario pipingCalculationScenario1 = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(section); PipingCalculationScenario pipingCalculationScenario2 = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(section); @@ -79,8 +77,7 @@ double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(calculations, failureMechanism, assessmentSection); // Assert - const double expectedProbability = probability1 * contribution1 + probability2 * contribution2; - Assert.AreEqual(expectedProbability, assessmentLayerTwoA, 1e-8); + Assert.AreEqual(1.0194628510792693e-21, assessmentLayerTwoA); mocks.VerifyAll(); } Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingScenariosContextTest.cs =================================================================== diff -u -r171eda478707e1f059c568074c7be10ecc93abb8 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingScenariosContextTest.cs (.../PipingScenariosContextTest.cs) (revision 171eda478707e1f059c568074c7be10ecc93abb8) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PresentationObjects/PipingScenariosContextTest.cs (.../PipingScenariosContextTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -85,7 +85,7 @@ // Assert var exception = Assert.Throws(test); - Assert.AreEqual("failureMechanism", exception.ParamName); + Assert.AreEqual("assessmentSection", exception.ParamName); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingOutputPropertiesTest.cs =================================================================== diff -u -r0f2cc55f2217e523d55eb173d3769f764ebc28a0 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingOutputPropertiesTest.cs (.../PipingOutputPropertiesTest.cs) (revision 0f2cc55f2217e523d55eb173d3769f764ebc28a0) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingOutputPropertiesTest.cs (.../PipingOutputPropertiesTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -49,7 +49,7 @@ // Assert string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("wrappedData", paramName); + Assert.AreEqual("output", paramName); mocks.VerifyAll(); } @@ -85,14 +85,15 @@ public void Constructor_ExpectedValues() { // Setup + var failureMechanism = new PipingFailureMechanism(); + var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); var output = new TestPipingOutput(); // Call - var properties = new PipingOutputProperties(output, new PipingFailureMechanism(), assessmentSection); + var properties = new PipingOutputProperties(output, failureMechanism, assessmentSection); // Assert Assert.IsInstanceOf>(properties); @@ -104,45 +105,54 @@ public void GetProperties_WithData_ReturnExpectedValues() { // Setup + var failureMechanism = new PipingFailureMechanism(); + var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); var random = new Random(22); double upliftEffectiveStress = random.NextDouble(); double heaveGradient = random.NextDouble(); double sellmeijerCreepCoefficient = random.NextDouble(); double sellmeijerCriticalFall = random.NextDouble(); double sellmeijerReducedFall = random.NextDouble(); + double upliftFactorOfSafety = random.NextDouble(); + double heaveFactorOfSafety = random.NextDouble(); + double sellmeijerFactorOfSafety = random.NextDouble(); var output = new PipingOutput(new PipingOutput.ConstructionProperties { UpliftEffectiveStress = upliftEffectiveStress, HeaveGradient = heaveGradient, SellmeijerCreepCoefficient = sellmeijerCreepCoefficient, SellmeijerCriticalFall = sellmeijerCriticalFall, - SellmeijerReducedFall = sellmeijerReducedFall + SellmeijerReducedFall = sellmeijerReducedFall, + UpliftFactorOfSafety = upliftFactorOfSafety, + HeaveFactorOfSafety = heaveFactorOfSafety, + SellmeijerFactorOfSafety = sellmeijerFactorOfSafety }); // Call - var properties = new PipingOutputProperties(output, new PipingFailureMechanism(), assessmentSection); + var properties = new PipingOutputProperties(output, failureMechanism, assessmentSection); // Assert + var expectedDerivedOutput = DerivedPipingOutputFactory.Create(output, failureMechanism.PipingProbabilityAssessmentInput, + assessmentSection.FailureMechanismContribution.Norm, failureMechanism.Contribution); const string probabilityFormat = "1/{0:n0}"; - Assert.AreEqual(0, properties.UpliftFactorOfSafety, properties.UpliftFactorOfSafety.GetAccuracy()); - Assert.AreEqual(0, properties.UpliftReliability, properties.UpliftReliability.GetAccuracy()); - Assert.AreEqual(string.Format(probabilityFormat, 1.0 / 0), properties.UpliftProbability); - Assert.AreEqual(0, properties.HeaveFactorOfSafety, properties.HeaveFactorOfSafety.GetAccuracy()); - Assert.AreEqual(0, properties.HeaveReliability, properties.HeaveReliability.GetAccuracy()); - Assert.AreEqual(string.Format(probabilityFormat, 1.0 / 0), properties.HeaveProbability); - Assert.AreEqual(0, properties.SellmeijerFactorOfSafety, properties.SellmeijerFactorOfSafety.GetAccuracy()); - Assert.AreEqual(0, properties.SellmeijerReliability, properties.SellmeijerReliability.GetAccuracy()); - Assert.AreEqual(string.Format(probabilityFormat, 1.0 / 0), properties.SellmeijerProbability); - Assert.AreEqual(string.Format(probabilityFormat, 1.0 / 0), properties.RequiredProbability); - Assert.AreEqual(0, properties.RequiredReliability, properties.RequiredReliability.GetAccuracy()); - Assert.AreEqual(string.Format(probabilityFormat, 1.0 / 0), properties.PipingProbability); - Assert.AreEqual(0, properties.PipingReliability, properties.PipingReliability.GetAccuracy()); - Assert.AreEqual(0, properties.PipingFactorOfSafety, properties.PipingFactorOfSafety.GetAccuracy()); + Assert.AreEqual(upliftFactorOfSafety, properties.UpliftFactorOfSafety, properties.UpliftFactorOfSafety.GetAccuracy()); + Assert.AreEqual(expectedDerivedOutput.UpliftReliability, properties.UpliftReliability, properties.UpliftReliability.GetAccuracy()); + Assert.AreEqual(string.Format(probabilityFormat, 1.0 / expectedDerivedOutput.UpliftProbability), properties.UpliftProbability); + Assert.AreEqual(heaveFactorOfSafety, properties.HeaveFactorOfSafety, properties.HeaveFactorOfSafety.GetAccuracy()); + Assert.AreEqual(expectedDerivedOutput.HeaveReliability, properties.HeaveReliability, properties.HeaveReliability.GetAccuracy()); + Assert.AreEqual(string.Format(probabilityFormat, 1.0 / expectedDerivedOutput.HeaveProbability), properties.HeaveProbability); + Assert.AreEqual(sellmeijerFactorOfSafety, properties.SellmeijerFactorOfSafety, properties.SellmeijerFactorOfSafety.GetAccuracy()); + Assert.AreEqual(expectedDerivedOutput.SellmeijerReliability, properties.SellmeijerReliability, properties.SellmeijerReliability.GetAccuracy()); + Assert.AreEqual(string.Format(probabilityFormat, 1.0 / expectedDerivedOutput.SellmeijerProbability), properties.SellmeijerProbability); + Assert.AreEqual(string.Format(probabilityFormat, 1.0 / expectedDerivedOutput.RequiredProbability), properties.RequiredProbability); + Assert.AreEqual(expectedDerivedOutput.RequiredReliability, properties.RequiredReliability, properties.RequiredReliability.GetAccuracy()); + Assert.AreEqual(string.Format(probabilityFormat, 1.0 / expectedDerivedOutput.PipingProbability), properties.PipingProbability); + Assert.AreEqual(expectedDerivedOutput.PipingReliability, properties.PipingReliability, properties.PipingReliability.GetAccuracy()); + Assert.AreEqual(expectedDerivedOutput.PipingFactorOfSafety, properties.PipingFactorOfSafety, properties.PipingFactorOfSafety.GetAccuracy()); Assert.AreEqual(upliftEffectiveStress, properties.UpliftEffectiveStress, properties.UpliftEffectiveStress.GetAccuracy()); Assert.AreEqual(heaveGradient, properties.HeaveGradient, properties.HeaveGradient.GetAccuracy()); @@ -153,36 +163,16 @@ } [Test] - public void GetProperties_WithZeroValues_ReturnTranslatedFormat() - { - // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - // Call - var properties = new PipingOutputProperties(new TestPipingOutput(), new PipingFailureMechanism(), assessmentSection); - - // Assert - const string probability = "1/Oneindig"; - Assert.AreEqual(probability, properties.UpliftProbability); - Assert.AreEqual(probability, properties.HeaveProbability); - Assert.AreEqual(probability, properties.SellmeijerProbability); - Assert.AreEqual(probability, properties.RequiredProbability); - Assert.AreEqual(probability, properties.PipingProbability); - mocks.VerifyAll(); - } - - [Test] public void Constructor_Always_PropertiesHaveExpectedAttributesValues() { // Setup + var failureMechanism = new PipingFailureMechanism(); + var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); // Call - var properties = new PipingOutputProperties(new TestPipingOutput(), new PipingFailureMechanism(), assessmentSection); + var properties = new PipingOutputProperties(new TestPipingOutput(), failureMechanism, assessmentSection); // Assert PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs =================================================================== diff -u -rf4c4fe2feedd73d2f45395017b77df2bb56d5c27 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs (.../PipingFailureMechanismResultViewTest.cs) (revision f4c4fe2feedd73d2f45395017b77df2bb56d5c27) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingFailureMechanismResultViewTest.cs (.../PipingFailureMechanismResultViewTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -370,7 +370,7 @@ // Assert Assert.IsEmpty(dataGridViewCell.ErrorText); - Assert.AreEqual($"1/{1 / 1:N0}", + Assert.AreEqual("1/980,908,719,666,769,000,000", formattedValue); } } Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingFailureMechanismSectionResultRowTest.cs =================================================================== diff -u -red08434acc8f5619842f1c6cb0b7f9a56cf8dad0 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingFailureMechanismSectionResultRowTest.cs (.../PipingFailureMechanismSectionResultRowTest.cs) (revision ed08434acc8f5619842f1c6cb0b7f9a56cf8dad0) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingFailureMechanismSectionResultRowTest.cs (.../PipingFailureMechanismSectionResultRowTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -220,12 +220,11 @@ public void AssessmentLayerTwoA_RelevantScenariosDone_ResultOfSection() { // Setup - var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - var failureMechanism = new PipingFailureMechanism(); + var mocks = new MockRepository(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); PipingCalculationScenario scenario = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(section); scenario.Contribution = (RoundedDouble) 1.0; Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenarioRowTest.cs =================================================================== diff -u -r171eda478707e1f059c568074c7be10ecc93abb8 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenarioRowTest.cs (.../PipingScenarioRowTest.cs) (revision 171eda478707e1f059c568074c7be10ecc93abb8) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenarioRowTest.cs (.../PipingScenarioRowTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -25,6 +25,7 @@ using NUnit.Framework; using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.TestUtil; using Ringtoets.Common.Forms.Helpers; using Ringtoets.Piping.Data; using Ringtoets.Piping.Data.TestUtil; @@ -89,13 +90,13 @@ public void Constructor_CalculationWithOutput_ExpectedValues() { // Setup + var failureMechanism = new PipingFailureMechanism(); + var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); PipingCalculationScenario calculation = PipingCalculationScenarioFactory.CreatePipingCalculationScenarioWithValidInput(); calculation.Output = new TestPipingOutput(); - var failureMechanism = new PipingFailureMechanism(); // Call var row = new PipingScenarioRow(calculation, failureMechanism, assessmentSection); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenariosViewTest.cs =================================================================== diff -u -r171eda478707e1f059c568074c7be10ecc93abb8 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenariosViewTest.cs (.../PipingScenariosViewTest.cs) (revision 171eda478707e1f059c568074c7be10ecc93abb8) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenariosViewTest.cs (.../PipingScenariosViewTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -37,6 +37,7 @@ using Ringtoets.Common.Data.TestUtil; using Ringtoets.Common.Forms.Helpers; using Ringtoets.Piping.Data; +using Ringtoets.Piping.Data.TestUtil; using Ringtoets.Piping.Forms.Views; using Ringtoets.Piping.Primitives; @@ -237,10 +238,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(ProbabilityFormattingHelper.Format(1.5e-3), cells[failureProbabilityPipingColumnIndex].FormattedValue); - Assert.AreEqual(ProbabilityFormattingHelper.Format(double.NaN), cells[failureProbabilityUpliftColumnIndex].FormattedValue); - Assert.AreEqual(ProbabilityFormattingHelper.Format(0.0005), cells[failureProbabilityHeaveColumnIndex].FormattedValue); - Assert.AreEqual(ProbabilityFormattingHelper.Format(1.5e-3), cells[failureProbabilitySellmeijerColumnIndex].FormattedValue); + Assert.AreEqual("1/980,908,719,666,769,000,000", cells[failureProbabilityPipingColumnIndex].FormattedValue); + Assert.AreEqual("1/204,463,909,053", cells[failureProbabilityUpliftColumnIndex].FormattedValue); + Assert.AreEqual("1/31,469,301", cells[failureProbabilityHeaveColumnIndex].FormattedValue); + Assert.AreEqual("1/980,908,719,666,769,000,000", cells[failureProbabilitySellmeijerColumnIndex].FormattedValue); } [Test] @@ -400,7 +401,8 @@ }, EntryPointL = (RoundedDouble) 7.7777, ExitPointL = (RoundedDouble) 8.8888 - } + }, + Output = new TestPipingOutput() } } }; Index: Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs =================================================================== diff -u -rf4c4fe2feedd73d2f45395017b77df2bb56d5c27 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs (.../PipingFailureMechanismResultViewIntegrationTest.cs) (revision f4c4fe2feedd73d2f45395017b77df2bb56d5c27) +++ Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs (.../PipingFailureMechanismResultViewIntegrationTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -122,15 +122,15 @@ // Execute the first calculation and ensure the data grid view is updated pipingCalculation1.Output = new TestPipingOutput(); pipingCalculation1.NotifyObservers(); - Assert.AreEqual($"1/{1.0 / 31846382.0:N0}", + Assert.AreEqual("1/980,908,719,666,769,000,000", 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/{1.0 / 31846382.0:N0}", + Assert.AreEqual("1/980,908,719,666,769,000,000", dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].FormattedValue); Assert.IsEmpty(dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].ErrorText); @@ -164,7 +164,7 @@ // Set contribution again so we have a probability. pipingCalculation1.Contribution = (RoundedDouble) 1.0; pipingCalculation1.NotifyObservers(); - Assert.AreEqual($"1/{1.0 / 31846382.0:N0}", + Assert.AreEqual("1/980,908,719,666,769,000,000", dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].FormattedValue); Assert.IsEmpty(dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].ErrorText); Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PipingPluginTest.cs =================================================================== diff -u -raf990fe02513d7cd12034e597037025ecf5aa948 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PipingPluginTest.cs (.../PipingPluginTest.cs) (revision af990fe02513d7cd12034e597037025ecf5aa948) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PipingPluginTest.cs (.../PipingPluginTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -132,7 +132,7 @@ Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(PipingCalculationGroupContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(PipingInputContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(PipingFailureMechanismContext))); - Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(FailureMechanismSectionResultContext))); + Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(PipingFailureMechanismSectionResultContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(PipingOutputContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(PipingScenariosContext))); Assert.IsTrue(treeNodeInfos.Any(tni => tni.TagType == typeof(EmptyPipingOutput))); @@ -158,7 +158,7 @@ PluginTestHelper.AssertViewInfoDefined( viewInfos, - typeof(FailureMechanismSectionResultContext), + typeof(PipingFailureMechanismSectionResultContext), typeof(IEnumerable), typeof(PipingFailureMechanismResultView)); Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PropertyInfos/PipingOutputPropertyInfoTest.cs =================================================================== diff -u -r0f2cc55f2217e523d55eb173d3769f764ebc28a0 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PropertyInfos/PipingOutputPropertyInfoTest.cs (.../PipingOutputPropertyInfoTest.cs) (revision 0f2cc55f2217e523d55eb173d3769f764ebc28a0) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PropertyInfos/PipingOutputPropertyInfoTest.cs (.../PipingOutputPropertyInfoTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -25,6 +25,7 @@ using NUnit.Framework; using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.TestUtil; using Ringtoets.Piping.Data; using Ringtoets.Piping.Data.TestUtil; using Ringtoets.Piping.Forms.PresentationObjects; @@ -62,12 +63,13 @@ public void CreateInstance_Always_NewPropertiesWithPipingOutputAsData() { // Setup + var failureMechanism = new PipingFailureMechanism(); + var mocks = new MockRepository(); - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); var output = new TestPipingOutput(); - var context = new PipingOutputContext(output, new PipingFailureMechanism(), assessmentSection); + var context = new PipingOutputContext(output, failureMechanism, assessmentSection); // Call IObjectProperties objectProperties = info.CreateInstance(context); Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj =================================================================== diff -u -rbbb75989e9785f5082835556cc30e643e6eb5890 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision bbb75989e9785f5082835556cc30e643e6eb5890) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/Ringtoets.Piping.Plugin.Test.csproj (.../Ringtoets.Piping.Plugin.Test.csproj) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -53,7 +53,7 @@ - + Fisheye: Tag df44be36b5c375ff32cd94086af5e6610ec9fc3a refers to a dead (removed) revision in file `Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/TreeNodeInfos/FailureMechanismSectionResultContextTreeNodeInfoTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/TreeNodeInfos/PipingFailureMechanismSectionResultContextTreeNodeInfoTest.cs =================================================================== diff -u --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/TreeNodeInfos/PipingFailureMechanismSectionResultContextTreeNodeInfoTest.cs (revision 0) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/TreeNodeInfos/PipingFailureMechanismSectionResultContextTreeNodeInfoTest.cs (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -0,0 +1,141 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Drawing; +using System.Linq; +using Core.Common.Controls.TreeView; +using Core.Common.Gui; +using Core.Common.Gui.ContextMenu; +using Core.Common.TestUtil; +using NUnit.Framework; +using Rhino.Mocks; +using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Forms.PresentationObjects; +using Ringtoets.Piping.Data; +using Ringtoets.Piping.Forms.PresentationObjects; +using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; + +namespace Ringtoets.Piping.Plugin.Test.TreeNodeInfos +{ + [TestFixture] + public class PipingFailureMechanismSectionResultContextTreeNodeInfoTest + { + private MockRepository mocks; + private PipingPlugin plugin; + private TreeNodeInfo info; + + [SetUp] + public void SetUp() + { + mocks = new MockRepository(); + plugin = new PipingPlugin(); + info = plugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(PipingFailureMechanismSectionResultContext)); + } + + [TearDown] + public void TearDown() + { + plugin.Dispose(); + mocks.VerifyAll(); + } + + [Test] + public void Initialized_Always_ExpectedPropertiesSet() + { + // Setup + mocks.ReplayAll(); + + // Assert + Assert.IsNotNull(info.Text); + Assert.IsNull(info.ForeColor); + Assert.IsNotNull(info.Image); + Assert.IsNotNull(info.ContextMenuStrip); + Assert.IsNull(info.EnsureVisibleOnCreate); + Assert.IsNull(info.ExpandOnCreate); + Assert.IsNull(info.ChildNodeObjects); + Assert.IsNull(info.CanRename); + Assert.IsNull(info.OnNodeRenamed); + Assert.IsNull(info.CanRemove); + Assert.IsNull(info.OnNodeRemoved); + Assert.IsNull(info.CanCheck); + Assert.IsNull(info.IsChecked); + Assert.IsNull(info.OnNodeChecked); + Assert.IsNull(info.CanDrag); + Assert.IsNull(info.CanDrop); + Assert.IsNull(info.CanInsert); + Assert.IsNull(info.OnDrop); + } + + [Test] + public void Text_Always_ReturnsName() + { + // Setup + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var mechanism = new PipingFailureMechanism(); + var context = new PipingFailureMechanismSectionResultContext(mechanism.SectionResults, mechanism, assessmentSection); + + // Call + string text = info.Text(context); + + // Assert + Assert.AreEqual("Resultaat", text); + } + + [Test] + public void Image_Always_ReturnsGenericInputOutputIcon() + { + // Setup + mocks.ReplayAll(); + + // Call + Image image = info.Image(null); + + // Assert + TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon, image); + } + + [Test] + public void ContextMenuStrip_Always_CallsBuilder() + { + // Setup + var menuBuilder = mocks.StrictMock(); + menuBuilder.Expect(mb => mb.AddOpenItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.Build()).Return(null); + + using (var treeViewControl = new TreeViewControl()) + { + var gui = mocks.Stub(); + gui.Stub(g => g.Get(null, treeViewControl)).Return(menuBuilder); + + mocks.ReplayAll(); + + plugin.Gui = gui; + + // Call + info.ContextMenuStrip(null, null, treeViewControl); + } + // Assert + // Assert expectancies are called in TearDown() + } + } +} \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismResultViewInfoTest.cs =================================================================== diff -u -rf4c4fe2feedd73d2f45395017b77df2bb56d5c27 -rdf44be36b5c375ff32cd94086af5e6610ec9fc3a --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismResultViewInfoTest.cs (.../PipingFailureMechanismResultViewInfoTest.cs) (revision f4c4fe2feedd73d2f45395017b77df2bb56d5c27) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/ViewInfos/PipingFailureMechanismResultViewInfoTest.cs (.../PipingFailureMechanismResultViewInfoTest.cs) (revision df44be36b5c375ff32cd94086af5e6610ec9fc3a) @@ -64,7 +64,7 @@ public void Initialized_Always_ExpectedPropertiesSet() { // Assert - Assert.AreEqual(typeof(FailureMechanismSectionResultContext), info.DataType); + Assert.AreEqual(typeof(PipingFailureMechanismSectionResultContext), info.DataType); Assert.AreEqual(typeof(IEnumerable), info.ViewDataType); } @@ -73,13 +73,19 @@ { // Setup var failureMechanism = new PipingFailureMechanism(); - var context = new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); + mocks.ReplayAll(); + var context = new PipingFailureMechanismSectionResultContext(failureMechanism.SectionResults, + failureMechanism, + assessmentSection); + // Call object viewData = info.GetViewData(context); // Assert Assert.AreSame(failureMechanism.SectionResults, viewData); + mocks.VerifyAll(); } [Test] @@ -103,36 +109,6 @@ } [Test] - public void ViewType_Always_ReturnsViewType() - { - // Call - Type viewType = info.ViewType; - - // Assert - Assert.AreEqual(typeof(PipingFailureMechanismResultView), viewType); - } - - [Test] - public void DataType_Always_ReturnsDataType() - { - // Call - Type dataType = info.DataType; - - // Assert - Assert.AreEqual(typeof(FailureMechanismSectionResultContext), dataType); - } - - [Test] - public void ViewDataType_Always_ReturnsViewDataType() - { - // Call - Type viewDataType = info.ViewDataType; - - // Assert - Assert.AreEqual(typeof(IEnumerable), viewDataType); - } - - [Test] public void Image_Always_ReturnsGenericInputOutputIcon() { // Call @@ -331,13 +307,16 @@ { // Setup var failureMechanism = new PipingFailureMechanism(); - var context = new FailureMechanismSectionResultContext(failureMechanism.SectionResults, - failureMechanism); + + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); var view = mocks.StrictMock(); view.Expect(v => v.FailureMechanism = failureMechanism); - mocks.ReplayAll(); + var context = new PipingFailureMechanismSectionResultContext(failureMechanism.SectionResults, + failureMechanism, + assessmentSection); + // Call info.AfterCreate(view, context); @@ -350,9 +329,14 @@ { // Setup var failureMechanism = new PipingFailureMechanism(); - var context = new FailureMechanismSectionResultContext(failureMechanism.SectionResults, - failureMechanism); + IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mocks); + mocks.ReplayAll(); + + var context = new PipingFailureMechanismSectionResultContext(failureMechanism.SectionResults, + failureMechanism, + assessmentSection); + // Call IView view = info.CreateInstance(context);