Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/PipingProbabilityAssessmentInputCreateExtensions.cs =================================================================== diff -u -r11f0867b39150ae5fac83dc178a89fee46d27611 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/PipingProbabilityAssessmentInputCreateExtensions.cs (.../PipingProbabilityAssessmentInputCreateExtensions.cs) (revision 11f0867b39150ae5fac83dc178a89fee46d27611) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/PipingProbabilityAssessmentInputCreateExtensions.cs (.../PipingProbabilityAssessmentInputCreateExtensions.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -47,7 +47,6 @@ var entity = new PipingFailureMechanismMetaEntity { A = assessmentInput.A, - UpliftCriticalSafetyFactor = assessmentInput.UpliftCriticalSafetyFactor }; return entity; Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/PipingSemiProbabilisticOutputCreateExtensions.cs =================================================================== diff -u -r11f0867b39150ae5fac83dc178a89fee46d27611 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/PipingSemiProbabilisticOutputCreateExtensions.cs (.../PipingSemiProbabilisticOutputCreateExtensions.cs) (revision 11f0867b39150ae5fac83dc178a89fee46d27611) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/Piping/PipingSemiProbabilisticOutputCreateExtensions.cs (.../PipingSemiProbabilisticOutputCreateExtensions.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -49,6 +49,7 @@ var entity = new PipingSemiProbabilisticOutputEntity { UpliftFactorOfSafety = semiProbabilisticOutput.UpliftFactorOfSafety.Value.ToNaNAsNull(), + UpliftReliability = semiProbabilisticOutput.UpliftReliability.Value.ToNaNAsNull(), UpliftProbability = semiProbabilisticOutput.UpliftProbability.ToNaNAsNull(), HeaveFactorOfSafety = semiProbabilisticOutput.HeaveFactorOfSafety.Value.ToNaNAsNull(), HeaveReliability = semiProbabilisticOutput.HeaveReliability.Value.ToNaNAsNull(), Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql =================================================================== diff -u -rab4d75b5749af0a12698661f818e922e59125f7a -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql (.../DatabaseStructure.sql) (revision ab4d75b5749af0a12698661f818e922e59125f7a) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql (.../DatabaseStructure.sql) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -1,6 +1,6 @@ /* ---------------------------------------------------- */ /* Generated by Enterprise Architect Version 12.0 */ -/* Created On : 27-Oct-2016 9:12:32 AM */ +/* Created On : 27-okt-2016 11:34:03 */ /* DBMS : SQLite */ /* ---------------------------------------------------- */ @@ -193,7 +193,6 @@ 'PipingFailureMechanismMetaEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 'FailureMechanismEntityId' INTEGER NOT NULL, 'A' REAL NOT NULL, - 'UpliftCriticalSafetyFactor' REAL NOT NULL, CONSTRAINT 'FK_PipingFailureMechanismMetaEntity_FailureMechanismEntity' FOREIGN KEY ('FailureMechanismEntityId') REFERENCES 'FailureMechanismEntity' ('FailureMechanismEntityId') ON DELETE Cascade ON UPDATE Cascade ) ; Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/PipingFailureMechanismMetaEntity.cs =================================================================== diff -u -r741fcc00e47a7ff8fa01bbf15edbaedf8dec2e57 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/PipingFailureMechanismMetaEntity.cs (.../PipingFailureMechanismMetaEntity.cs) (revision 741fcc00e47a7ff8fa01bbf15edbaedf8dec2e57) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/PipingFailureMechanismMetaEntity.cs (.../PipingFailureMechanismMetaEntity.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -38,7 +38,6 @@ public long PipingFailureMechanismMetaEntityId { get; set; } public long FailureMechanismEntityId { get; set; } public double A { get; set; } - public double UpliftCriticalSafetyFactor { get; set; } public virtual FailureMechanismEntity FailureMechanismEntity { get; set; } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Designer.cs =================================================================== diff -u -rab4d75b5749af0a12698661f818e922e59125f7a -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Designer.cs (.../RingtoetsEntities.Designer.cs) (revision ab4d75b5749af0a12698661f818e922e59125f7a) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.Designer.cs (.../RingtoetsEntities.Designer.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -1,4 +1,4 @@ -// T4 code generation is enabled for model 'D:\Projects\WTI\trunk\Application\Ringtoets\src\Application.Ringtoets.Storage\DbContext\RingtoetsEntities.edmx'. +// T4 code generation is enabled for model 'D:\repos\WettelijkToetsInstrumentarium\Application\Ringtoets\src\Application.Ringtoets.Storage\DbContext\RingtoetsEntities.edmx'. // To enable legacy code generation, change the value of the 'Code Generation Strategy' designer // property to 'Legacy ObjectContext'. This property is available in the Properties Window when the model // is open in the designer. Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx =================================================================== diff -u -rab4d75b5749af0a12698661f818e922e59125f7a -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx (.../RingtoetsEntities.edmx) (revision ab4d75b5749af0a12698661f818e922e59125f7a) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx (.../RingtoetsEntities.edmx) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -4,7 +4,7 @@ - + @@ -529,7 +529,6 @@ - @@ -3079,7 +3078,6 @@ - @@ -4871,7 +4869,6 @@ - Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram =================================================================== diff -u -rab4d75b5749af0a12698661f818e922e59125f7a -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram (.../RingtoetsEntities.edmx.diagram) (revision ab4d75b5749af0a12698661f818e922e59125f7a) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram (.../RingtoetsEntities.edmx.diagram) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -5,63 +5,63 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/FailureMechanismEntityReadExtensions.cs =================================================================== diff -u -ra3906d39b799530a0e38750705dc49abaa037c9d -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/FailureMechanismEntityReadExtensions.cs (.../FailureMechanismEntityReadExtensions.cs) (revision a3906d39b799530a0e38750705dc49abaa037c9d) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/FailureMechanismEntityReadExtensions.cs (.../FailureMechanismEntityReadExtensions.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -129,7 +129,6 @@ PipingProbabilityAssessmentInput probabilityAssessmentInput = pipingFailureMechanismMetaEntities.ElementAt(0).Read(); pipingProbabilityAssessmentInput.A = probabilityAssessmentInput.A; - pipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor = probabilityAssessmentInput.UpliftCriticalSafetyFactor; } private static void ReadPipingMechanismSectionResults(this FailureMechanismEntity entity, PipingFailureMechanism failureMechanism, ReadConversionCollector collector) Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/PipingFailureMechanismMetaEntityReadExtensions.cs =================================================================== diff -u -r11f0867b39150ae5fac83dc178a89fee46d27611 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/PipingFailureMechanismMetaEntityReadExtensions.cs (.../PipingFailureMechanismMetaEntityReadExtensions.cs) (revision 11f0867b39150ae5fac83dc178a89fee46d27611) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/PipingFailureMechanismMetaEntityReadExtensions.cs (.../PipingFailureMechanismMetaEntityReadExtensions.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -41,7 +41,6 @@ return new PipingProbabilityAssessmentInput { A = entity.A, - UpliftCriticalSafetyFactor = (RoundedDouble) entity.UpliftCriticalSafetyFactor }; } } Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/PipingSemiProbabilisticOutputEntityReadExtensions.cs =================================================================== diff -u -r11f0867b39150ae5fac83dc178a89fee46d27611 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/PipingSemiProbabilisticOutputEntityReadExtensions.cs (.../PipingSemiProbabilisticOutputEntityReadExtensions.cs) (revision 11f0867b39150ae5fac83dc178a89fee46d27611) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/PipingSemiProbabilisticOutputEntityReadExtensions.cs (.../PipingSemiProbabilisticOutputEntityReadExtensions.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -40,7 +40,7 @@ internal static PipingSemiProbabilisticOutput Read(this PipingSemiProbabilisticOutputEntity entity) { return new PipingSemiProbabilisticOutput( - entity.UpliftFactorOfSafety.ToNullAsNaN(), entity.UpliftProbability.ToNullAsNaN(), + entity.UpliftFactorOfSafety.ToNullAsNaN(), entity.UpliftReliability.ToNullAsNaN(), entity.UpliftProbability.ToNullAsNaN(), entity.HeaveFactorOfSafety.ToNullAsNaN(), entity.HeaveReliability.ToNullAsNaN(), entity.HeaveProbability.ToNullAsNaN(), entity.SellmeijerFactorOfSafety.ToNullAsNaN(), entity.SellmeijerReliability.ToNullAsNaN(), entity.SellmeijerProbability.ToNullAsNaN(), entity.RequiredProbability.ToNullAsNaN(), entity.RequiredReliability.ToNullAsNaN(), Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingCalculationScenarioCreateExtensionsTest.cs =================================================================== diff -u -r8a11d2a7974d1fb39e142516dc3fd041e1eb4603 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingCalculationScenarioCreateExtensionsTest.cs (.../PipingCalculationScenarioCreateExtensionsTest.cs) (revision 8a11d2a7974d1fb39e142516dc3fd041e1eb4603) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingCalculationScenarioCreateExtensionsTest.cs (.../PipingCalculationScenarioCreateExtensionsTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -272,7 +272,7 @@ // Setup var registry = new PersistenceRegistry(); - var newOutput = new PipingSemiProbabilisticOutput(1, 0.3, + var newOutput = new PipingSemiProbabilisticOutput(1, 2, 0.3, 4, 5, 0.6, 7, 8, 0.9, 1.0, 11, Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingProbabilityAssessmentInputCreateExtensionsTest.cs =================================================================== diff -u -r05013c44d1273bac219a442dc7959706c6bac715 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingProbabilityAssessmentInputCreateExtensionsTest.cs (.../PipingProbabilityAssessmentInputCreateExtensionsTest.cs) (revision 05013c44d1273bac219a442dc7959706c6bac715) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingProbabilityAssessmentInputCreateExtensionsTest.cs (.../PipingProbabilityAssessmentInputCreateExtensionsTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -58,7 +58,6 @@ // Assert Assert.IsNotNull(entity); Assert.AreEqual(failureMechanism.PipingProbabilityAssessmentInput.A, entity.A); - Assert.AreEqual(failureMechanism.PipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor.Value, entity.UpliftCriticalSafetyFactor); } } } \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingSemiProbabilisticOutputCreateExtensionsTest.cs =================================================================== diff -u -rfa2d88ba58e524c1d132a21df4e0adf9fa6570c4 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingSemiProbabilisticOutputCreateExtensionsTest.cs (.../PipingSemiProbabilisticOutputCreateExtensionsTest.cs) (revision fa2d88ba58e524c1d132a21df4e0adf9fa6570c4) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingSemiProbabilisticOutputCreateExtensionsTest.cs (.../PipingSemiProbabilisticOutputCreateExtensionsTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -37,7 +37,7 @@ public void Create_PersistenceRegistryIsNull_ThrowArgumentNullException() { // Setup - var output = new PipingSemiProbabilisticOutput(1.1, 0.3, 4.4, 5.5, 0.6, 7.7, + var output = new PipingSemiProbabilisticOutput(1.1, 2.2, 0.3, 4.4, 5.5, 0.6, 7.7, 8.8, 0.9, 0.10, 11.11, 0.12, 13.13, 14.14); @@ -53,7 +53,7 @@ public void Create_WithValidValues_ReturnEntity() { // Setup - var output = new PipingSemiProbabilisticOutput(1.1, 0.3, 4.4, 5.5, 0.6, 7.7, + var output = new PipingSemiProbabilisticOutput(1.1, 2.2, 0.3, 4.4, 5.5, 0.6, 7.7, 8.8, 0.9, 0.10, 11.11, 0.12, 13.13, 14.14); var registry = new PersistenceRegistry(); @@ -63,6 +63,7 @@ // Assert AssertAreEqual(output.UpliftFactorOfSafety, entity.UpliftFactorOfSafety); + AssertAreEqual(output.UpliftReliability, entity.UpliftReliability); AssertAreEqual(output.UpliftProbability, entity.UpliftProbability); AssertAreEqual(output.HeaveFactorOfSafety, entity.HeaveFactorOfSafety); AssertAreEqual(output.HeaveReliability, entity.HeaveReliability); @@ -84,7 +85,7 @@ public void Create_WithNaNValues_ReturnEntityWithNullPropertyValues() { // Setup - var output = new PipingSemiProbabilisticOutput(double.NaN, double.NaN, + var output = new PipingSemiProbabilisticOutput(double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, @@ -96,6 +97,7 @@ // Assert Assert.IsNull(entity.UpliftFactorOfSafety); + Assert.IsNull(entity.UpliftReliability); Assert.IsNull(entity.UpliftProbability); Assert.IsNull(entity.HeaveFactorOfSafety); Assert.IsNull(entity.HeaveReliability); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs =================================================================== diff -u -r0bc3d23ba7c6e8521df5786cc2680911e5865259 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 0bc3d23ba7c6e8521df5786cc2680911e5865259) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -1114,7 +1114,6 @@ private static void AssertProbabilityAssessmentInput(PipingProbabilityAssessmentInput expectedModel, PipingProbabilityAssessmentInput actualModel) { Assert.AreEqual(expectedModel.A, actualModel.A); - Assert.AreEqual(expectedModel.UpliftCriticalSafetyFactor, actualModel.UpliftCriticalSafetyFactor); } private static void AssertPipingCalculationScenario(PipingCalculationScenario expectedPipingCalculation, PipingCalculationScenario actualPipingCalculation) @@ -1181,6 +1180,7 @@ Assert.AreEqual(expectedOutput.UpliftFactorOfSafety, actualOutput.UpliftFactorOfSafety); Assert.AreEqual(expectedOutput.UpliftProbability, actualOutput.UpliftProbability); + Assert.AreEqual(expectedOutput.UpliftReliability, actualOutput.UpliftReliability); Assert.AreEqual(expectedOutput.RequiredReliability, actualOutput.RequiredReliability); Assert.AreEqual(expectedOutput.RequiredProbability, actualOutput.RequiredProbability); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs =================================================================== diff -u -re570ba372fafe1802a4caae2ef9410b64457198b -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision e570ba372fafe1802a4caae2ef9410b64457198b) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -162,7 +162,6 @@ var entity = CreateAssessmentSectionEntity(); var random = new Random(21); var parameterA = random.NextDouble()/10; - var parameterUpliftCriticalSafetyFactor = random.NextDouble() + 0.1; const string comments = "Some text"; var failureMechanismEntity = new FailureMechanismEntity @@ -176,7 +175,6 @@ new PipingFailureMechanismMetaEntity { A = parameterA, - UpliftCriticalSafetyFactor = parameterUpliftCriticalSafetyFactor } } }; Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/FailureMechanismEntityReadExtensionsTest.cs =================================================================== diff -u -ra3906d39b799530a0e38750705dc49abaa037c9d -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/FailureMechanismEntityReadExtensionsTest.cs (.../FailureMechanismEntityReadExtensionsTest.cs) (revision a3906d39b799530a0e38750705dc49abaa037c9d) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/FailureMechanismEntityReadExtensionsTest.cs (.../FailureMechanismEntityReadExtensionsTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -149,7 +149,6 @@ new PipingFailureMechanismMetaEntity { A = 0.95, - UpliftCriticalSafetyFactor = 1.2 } } }; @@ -169,7 +168,6 @@ var pipingFailureMechanismMetaEntities = entity.PipingFailureMechanismMetaEntities.ToArray(); var probabilityAssessmentInput = pipingFailureMechanismMetaEntities[0]; Assert.AreEqual(probabilityAssessmentInput.A, failureMechanism.PipingProbabilityAssessmentInput.A); - Assert.AreEqual(probabilityAssessmentInput.UpliftCriticalSafetyFactor, failureMechanism.PipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor.Value); } [Test] Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/PipingFailureMechanismMetaEntityReadExtensionsTest.cs =================================================================== diff -u -r2973c5f790a5131e427bd5f73e2a620044199639 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/PipingFailureMechanismMetaEntityReadExtensionsTest.cs (.../PipingFailureMechanismMetaEntityReadExtensionsTest.cs) (revision 2973c5f790a5131e427bd5f73e2a620044199639) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/PipingFailureMechanismMetaEntityReadExtensionsTest.cs (.../PipingFailureMechanismMetaEntityReadExtensionsTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -22,7 +22,6 @@ using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Read.Piping; using NUnit.Framework; -using Ringtoets.Common.Data.TestUtil; using Ringtoets.Piping.Data; namespace Application.Ringtoets.Storage.Test.Read.Piping @@ -37,7 +36,6 @@ var entity = new PipingFailureMechanismMetaEntity { A = 0.95, - UpliftCriticalSafetyFactor = 2.6 }; // Call @@ -46,7 +44,6 @@ // Assert Assert.IsNotNull(pipingProbabilityAssessmentInput); Assert.AreEqual(entity.A, pipingProbabilityAssessmentInput.A); - Assert.AreEqual(entity.UpliftCriticalSafetyFactor, pipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor, pipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor.GetAccuracy()); } } } \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/PipingSemiProbabilisticOutputEntityReadExtensionsTest.cs =================================================================== diff -u -r97018b4e8e9cd81438e8fd0d111d889e20946617 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/PipingSemiProbabilisticOutputEntityReadExtensionsTest.cs (.../PipingSemiProbabilisticOutputEntityReadExtensionsTest.cs) (revision 97018b4e8e9cd81438e8fd0d111d889e20946617) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/Piping/PipingSemiProbabilisticOutputEntityReadExtensionsTest.cs (.../PipingSemiProbabilisticOutputEntityReadExtensionsTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -45,6 +45,7 @@ PipingReliability = 6.6, UpliftFactorOfSafety = 7.7, UpliftProbability = 0.8, + UpliftReliability = 9.9, SellmeijerFactorOfSafety = 10.10, SellmeijerProbability = 0.11, SellmeijerReliability = 12.12, @@ -64,6 +65,7 @@ AssertAreEqual(entity.PipingReliability, pipingSemiProbabilisticOutput.PipingReliability); AssertAreEqual(entity.UpliftFactorOfSafety, pipingSemiProbabilisticOutput.UpliftFactorOfSafety); AssertAreEqual(entity.UpliftProbability, pipingSemiProbabilisticOutput.UpliftProbability); + AssertAreEqual(entity.UpliftReliability, pipingSemiProbabilisticOutput.UpliftReliability); AssertAreEqual(entity.SellmeijerFactorOfSafety, pipingSemiProbabilisticOutput.SellmeijerFactorOfSafety); AssertAreEqual(entity.SellmeijerProbability, pipingSemiProbabilisticOutput.SellmeijerProbability); AssertAreEqual(entity.SellmeijerReliability, pipingSemiProbabilisticOutput.SellmeijerReliability); @@ -85,6 +87,7 @@ PipingReliability = null, UpliftFactorOfSafety = null, UpliftProbability = null, + UpliftReliability = null, SellmeijerFactorOfSafety = null, SellmeijerProbability = null, SellmeijerReliability = null, @@ -104,6 +107,7 @@ Assert.IsNaN(pipingSemiProbabilisticOutput.PipingReliability); Assert.IsNaN(pipingSemiProbabilisticOutput.UpliftFactorOfSafety); Assert.IsNaN(pipingSemiProbabilisticOutput.UpliftProbability); + Assert.IsNaN(pipingSemiProbabilisticOutput.UpliftReliability); Assert.IsNaN(pipingSemiProbabilisticOutput.SellmeijerFactorOfSafety); Assert.IsNaN(pipingSemiProbabilisticOutput.SellmeijerProbability); Assert.IsNaN(pipingSemiProbabilisticOutput.SellmeijerReliability); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsProjectTestHelper.cs =================================================================== diff -u -r5bdd0c27e3d42a0d68a6e9abea9b875d0e06cb5f -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsProjectTestHelper.cs (.../RingtoetsProjectTestHelper.cs) (revision 5bdd0c27e3d42a0d68a6e9abea9b875d0e06cb5f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsProjectTestHelper.cs (.../RingtoetsProjectTestHelper.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -465,7 +465,6 @@ private static void ConfigurePipingFailureMechanism(PipingFailureMechanism pipingFailureMechanism, AssessmentSection assessmentSection) { pipingFailureMechanism.PipingProbabilityAssessmentInput.A = 0.9; - pipingFailureMechanism.PipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor = (RoundedDouble) 1.9; var referenceLineGeometryPoints = assessmentSection.ReferenceLine.Points.ToArray(); @@ -552,7 +551,7 @@ } }, Output = new PipingOutput(1.1, 2.2, 3.3, 4.4, 5.5, 6.6), - SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(7.7, 0.9, + SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(7.7, 8.8, 0.9, 10.10, 11.11, 0.12, 13.13, 14.14, 0.15, 0.16, 17.17, Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingProbabilityAssessmentInput.cs =================================================================== diff -u -raf62e374c37713df98c2866ec4bfa64206b5b2b3 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingProbabilityAssessmentInput.cs (.../PipingProbabilityAssessmentInput.cs) (revision af62e374c37713df98c2866ec4bfa64206b5b2b3) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingProbabilityAssessmentInput.cs (.../PipingProbabilityAssessmentInput.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using Core.Common.Base.Data; using Ringtoets.Piping.Data.Properties; namespace Ringtoets.Piping.Data @@ -31,7 +30,6 @@ public class PipingProbabilityAssessmentInput { private double a; - private RoundedDouble upliftCriticalSafetyFactor; /// /// Creates a new instance of . @@ -41,8 +39,6 @@ A = 0.4; B = 300.0; SectionLength = double.NaN; - - upliftCriticalSafetyFactor = new RoundedDouble(1, 1.2); } /// @@ -67,30 +63,6 @@ } /// - /// Gets or sets the critical safety factor to which the calculated uplift stability factor is compared. - /// - /// Thrown when the rounded is outside - /// range (0, 50]. - public RoundedDouble UpliftCriticalSafetyFactor - { - get - { - return upliftCriticalSafetyFactor; - } - set - { - var roundedValue = new RoundedDouble(upliftCriticalSafetyFactor.NumberOfDecimalPlaces, value); - if (roundedValue <= 0 || roundedValue > 50) - { - throw new ArgumentOutOfRangeException( - "value", - Resources.PipingProbabilityAssessmentInput_UpliftCriticalSafetyFactor_Value_must_be_in_range_zero_and_fifty); - } - upliftCriticalSafetyFactor = roundedValue; - } - } - - /// /// Gets 'b' parameter used to factor in the 'length effect' when determining the /// maximum tolerated probability of failure. /// Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSemiProbabilisticOutput.cs =================================================================== diff -u -r11f0867b39150ae5fac83dc178a89fee46d27611 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSemiProbabilisticOutput.cs (.../PipingSemiProbabilisticOutput.cs) (revision 11f0867b39150ae5fac83dc178a89fee46d27611) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingSemiProbabilisticOutput.cs (.../PipingSemiProbabilisticOutput.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -41,6 +41,7 @@ /// Creates a new instance of . /// /// The factor of safety for the uplift sub-mechanism. + /// The reliability of uplift the sub-mechanism. /// The probability of failure due to the uplift sub-mechanism. /// The factor of safety for the heave sub-mechanism. /// The reliability of the heave sub-mechanism. @@ -55,9 +56,14 @@ /// The factor of safety for the piping failure mechanism. /// When setting a probability that falls /// outside the [0.0, 1.0] range or isn't . - public PipingSemiProbabilisticOutput(double upliftFactorOfSafety, double upliftProbability, double heaveFactorOfSafety, double heaveReliability, double heaveProbability, double sellmeijerFactorOfSafety, double sellmeijerReliability, double sellmeijerProbability, double requiredProbability, double requiredReliability, double pipingProbability, double pipingReliability, double pipingFactorOfSafety) + public PipingSemiProbabilisticOutput(double upliftFactorOfSafety, double upliftReliability, double upliftProbability, + double heaveFactorOfSafety, double heaveReliability, double heaveProbability, + double sellmeijerFactorOfSafety, double sellmeijerReliability, double sellmeijerProbability, + double requiredProbability, double requiredReliability, + double pipingProbability, double pipingReliability, double pipingFactorOfSafety) { UpliftFactorOfSafety = new RoundedDouble(3, upliftFactorOfSafety); + UpliftReliability = new RoundedDouble(3, upliftReliability); UpliftProbability = upliftProbability; HeaveFactorOfSafety = new RoundedDouble(3, heaveFactorOfSafety); HeaveReliability = new RoundedDouble(3, heaveReliability); @@ -150,6 +156,12 @@ public RoundedDouble UpliftFactorOfSafety { get; private set; } /// + /// Gets the reliability for the uplift sub-mechanism, + /// which is a value greater than 0. + /// + public RoundedDouble UpliftReliability { get; private set; } + + /// /// Gets the probability of failing due to the uplift failure sub-mechanism, /// which value in range [0,1]. /// Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -re4e10b26e837005d099292386a004c53f168d3c0 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision e4e10b26e837005d099292386a004c53f168d3c0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -118,15 +118,6 @@ } /// - /// Looks up a localized string similar to Opbarsten. - /// - public static string Categories_Uplift { - get { - return ResourceManager.GetString("Categories_Uplift", resourceCulture); - } - } - - /// /// Looks up a localized string similar to De representatieve waarde die gebruikt wordt door de berekening.. /// public static string DesignVariableTypeConverter_DesignValue_Description { @@ -307,24 +298,6 @@ } /// - /// Looks up a localized string similar to De veiligheidsfactor die wordt vergeleken met de berekende stabiliteitsfactor van het submechanisme opbarsten.. - /// - public static string GeneralPipingInput_UpliftCriticalSafetyFactor_Description { - get { - return ResourceManager.GetString("GeneralPipingInput_UpliftCriticalSafetyFactor_Description", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Kritische veiligheidsfactor voor opbarsten [-]. - /// - public static string GeneralPipingInput_UpliftCriticalSafetyFactor_DisplayName { - get { - return ResourceManager.GetString("GeneralPipingInput_UpliftCriticalSafetyFactor_DisplayName", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Rekenwaarde om de onzekerheid in het model van opbarsten in rekening te brengen.. /// public static string GeneralPipingInput_UpliftModelFactor_Description { @@ -825,15 +798,6 @@ } /// - /// Looks up a localized string similar to Heave. - /// - public static string PipingSemiProbabilisticOutput_Categories_Heave { - get { - return ResourceManager.GetString("PipingSemiProbabilisticOutput_Categories_Heave", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Piping. /// public static string PipingSemiProbabilisticOutput_Categories_Piping { @@ -843,15 +807,6 @@ } /// - /// Looks up a localized string similar to Terugschrijdende erosie (Sellmeijer). - /// - public static string PipingSemiProbabilisticOutput_Categories_Sellmeijer { - get { - return ResourceManager.GetString("PipingSemiProbabilisticOutput_Categories_Sellmeijer", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Opbarsten. /// public static string PipingSemiProbabilisticOutput_Categories_Uplift { @@ -1095,6 +1050,24 @@ } /// + /// Looks up a localized string similar to De betrouwbaarheidsindex voor het submechanisme opbarsten voor deze berekening.. + /// + public static string PipingSemiProbabilisticOutput_UpliftReliability_Description { + get { + return ResourceManager.GetString("PipingSemiProbabilisticOutput_UpliftReliability_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Betrouwbaarheidsindex [-]. + /// + public static string PipingSemiProbabilisticOutput_UpliftReliability_DisplayName { + get { + return ResourceManager.GetString("PipingSemiProbabilisticOutput_UpliftReliability_DisplayName", resourceCulture); + } + } + + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// public static System.Drawing.Bitmap PipingSoilProfileIcon { Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx =================================================================== diff -u -re4e10b26e837005d099292386a004c53f168d3c0 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision e4e10b26e837005d099292386a004c53f168d3c0) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -346,9 +346,6 @@ Terugschrijdende erosie (Sellmeijer) - - Opbarsten - De representatieve waarde die gebruikt wordt door de berekening. @@ -427,15 +424,9 @@ Kans van voorkomen [1/jaar] - - Heave - Piping - - Terugschrijdende erosie (Sellmeijer) - Opbarsten @@ -487,6 +478,12 @@ Kans van voorkomen [1/jaar] + + De betrouwbaarheidsindex voor het submechanisme opbarsten voor deze berekening. + + + Betrouwbaarheidsindex [-] + Verzadigd gewicht deklaag. @@ -577,12 +574,6 @@ Kans op opbarsten [1/jaar] - - De veiligheidsfactor die wordt vergeleken met de berekende stabiliteitsfactor van het submechanisme opbarsten. - - - Kritische veiligheidsfactor voor opbarsten [-] - Selecteer profielschematisaties Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingFailureMechanismContextProperties.cs =================================================================== diff -u -rf2053e36f2f245041599654de6aff095721e81bf -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingFailureMechanismContextProperties.cs (.../PipingFailureMechanismContextProperties.cs) (revision f2053e36f2f245041599654de6aff095721e81bf) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingFailureMechanismContextProperties.cs (.../PipingFailureMechanismContextProperties.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -50,27 +50,6 @@ #endregion - #region Uplift - - [PropertyOrder(41)] - [ResourcesCategory(typeof(Resources), "Categories_Uplift")] - [ResourcesDisplayName(typeof(Resources), "GeneralPipingInput_UpliftCriticalSafetyFactor_DisplayName")] - [ResourcesDescription(typeof(Resources), "GeneralPipingInput_UpliftCriticalSafetyFactor_Description")] - public RoundedDouble UpliftCriticalSafetyFactor - { - get - { - return data.WrappedData.PipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor; - } - set - { - data.WrappedData.PipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor = value; - data.WrappedData.NotifyObservers(); - } - } - - #endregion - #region General [PropertyOrder(1)] Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingSemiProbabilisticOutputProperties.cs =================================================================== diff -u -r06abcaadc2936c0bf3fde73916c051f37f698505 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingSemiProbabilisticOutputProperties.cs (.../PipingSemiProbabilisticOutputProperties.cs) (revision 06abcaadc2936c0bf3fde73916c051f37f698505) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingSemiProbabilisticOutputProperties.cs (.../PipingSemiProbabilisticOutputProperties.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -45,9 +45,21 @@ } [ResourcesCategory(typeof(Resources), "PipingSemiProbabilisticOutput_Categories_Uplift", 1, 4)] + [ResourcesDisplayName(typeof(Resources), "PipingSemiProbabilisticOutput_UpliftReliability_DisplayName")] + [ResourcesDescription(typeof(Resources), "PipingSemiProbabilisticOutput_UpliftReliability_Description")] + [PropertyOrder(2)] + public RoundedDouble UpliftReliability + { + get + { + return data.UpliftReliability; + } + } + + [ResourcesCategory(typeof(Resources), "PipingSemiProbabilisticOutput_Categories_Uplift", 1, 4)] [ResourcesDisplayName(typeof(Resources), "PipingSemiProbabilisticOutput_UpliftProbability_DisplayName")] [ResourcesDescription(typeof(Resources), "PipingSemiProbabilisticOutput_UpliftProbability_Description")] - [PropertyOrder(2)] + [PropertyOrder(3)] public string UpliftProbability { get @@ -56,7 +68,7 @@ } } - [ResourcesCategory(typeof(Resources), "PipingSemiProbabilisticOutput_Categories_Heave", 2, 4)] + [ResourcesCategory(typeof(Resources), "Categories_Heave", 2, 4)] [ResourcesDisplayName(typeof(Resources), "PipingSemiProbabilisticOutput_HeaveFactorOfSafety_DisplayName")] [ResourcesDescription(typeof(Resources), "PipingSemiProbabilisticOutput_HeaveFactorOfSafety_Description")] [PropertyOrder(11)] @@ -68,7 +80,7 @@ } } - [ResourcesCategory(typeof(Resources), "PipingSemiProbabilisticOutput_Categories_Heave", 2, 4)] + [ResourcesCategory(typeof(Resources), "Categories_Heave", 2, 4)] [ResourcesDisplayName(typeof(Resources), "PipingSemiProbabilisticOutput_HeaveReliability_DisplayName")] [ResourcesDescription(typeof(Resources), "PipingSemiProbabilisticOutput_HeaveReliability_Description")] [PropertyOrder(12)] @@ -80,7 +92,7 @@ } } - [ResourcesCategory(typeof(Resources), "PipingSemiProbabilisticOutput_Categories_Heave", 2, 4)] + [ResourcesCategory(typeof(Resources), "Categories_Heave", 2, 4)] [ResourcesDisplayName(typeof(Resources), "PipingSemiProbabilisticOutput_HeaveProbability_DisplayName")] [ResourcesDescription(typeof(Resources), "PipingSemiProbabilisticOutput_HeaveProbability_Description")] [PropertyOrder(13)] @@ -92,7 +104,7 @@ } } - [ResourcesCategory(typeof(Resources), "PipingSemiProbabilisticOutput_Categories_Sellmeijer", 3, 4)] + [ResourcesCategory(typeof(Resources), "Categories_Sellmeijer", 3, 4)] [ResourcesDisplayName(typeof(Resources), "PipingSemiProbabilisticOutput_SellmeijerFactorOfSafety_DisplayName")] [ResourcesDescription(typeof(Resources), "PipingSemiProbabilisticOutput_SellmeijerFactorOfSafety_Description")] [PropertyOrder(21)] @@ -104,7 +116,7 @@ } } - [ResourcesCategory(typeof(Resources), "PipingSemiProbabilisticOutput_Categories_Sellmeijer", 3, 4)] + [ResourcesCategory(typeof(Resources), "Categories_Sellmeijer", 3, 4)] [ResourcesDisplayName(typeof(Resources), "PipingSemiProbabilisticOutput_SellmeijerReliability_DisplayName")] [ResourcesDescription(typeof(Resources), "PipingSemiProbabilisticOutput_SellmeijerReliability_Description")] [PropertyOrder(22)] @@ -116,7 +128,7 @@ } } - [ResourcesCategory(typeof(Resources), "PipingSemiProbabilisticOutput_Categories_Sellmeijer", 3, 4)] + [ResourcesCategory(typeof(Resources), "Categories_Sellmeijer", 3, 4)] [ResourcesDisplayName(typeof(Resources), "PipingSemiProbabilisticOutput_SellmeijerProbability_DisplayName")] [ResourcesDescription(typeof(Resources), "PipingSemiProbabilisticOutput_SellmeijerProbability_Description")] [PropertyOrder(23)] Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingSemiProbabilisticCalculationService.cs =================================================================== diff -u -rd7e204007a0a9e73fdfec7e570a397d4c41a463b -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingSemiProbabilisticCalculationService.cs (.../PipingSemiProbabilisticCalculationService.cs) (revision d7e204007a0a9e73fdfec7e570a397d4c41a463b) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingSemiProbabilisticCalculationService.cs (.../PipingSemiProbabilisticCalculationService.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -40,11 +40,11 @@ private readonly double constantA; private readonly double constantB; private readonly double assessmentSectionLength; - private readonly double upliftCriticalSafetyFactor; private readonly double contribution; // Intermediate results private double heaveReliability; + private double upliftReliability; private double sellmeijerReliability; private double heaveProbability; @@ -69,9 +69,8 @@ /// The constant a. /// The constant b. /// The length of the assessment section. - /// The critical safety factor which is compared to the safety factor of uplift to determine a probability. /// The contribution of piping to the total failure. - private PipingSemiProbabilisticCalculationService(double upliftFactorOfSafety, double heaveFactorOfSafety, double sellmeijerFactorOfSafety, int returnPeriod, double constantA, double constantB, double assessmentSectionLength, double upliftCriticalSafetyFactor, double contribution) + private PipingSemiProbabilisticCalculationService(double upliftFactorOfSafety, double heaveFactorOfSafety, double sellmeijerFactorOfSafety, int returnPeriod, double constantA, double constantB, double assessmentSectionLength, double contribution) { this.heaveFactorOfSafety = heaveFactorOfSafety; this.upliftFactorOfSafety = upliftFactorOfSafety; @@ -80,7 +79,6 @@ this.constantA = constantA; this.constantB = constantB; this.assessmentSectionLength = assessmentSectionLength; - this.upliftCriticalSafetyFactor = upliftCriticalSafetyFactor; this.contribution = contribution; } @@ -109,13 +107,13 @@ pipingProbabilityAssessmentInput.A, pipingProbabilityAssessmentInput.B, pipingProbabilityAssessmentInput.SectionLength, - pipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor, contribution/100); calculator.Calculate(); calculation.SemiProbabilisticOutput = new PipingSemiProbabilisticOutput( calculator.upliftFactorOfSafety, + calculator.upliftReliability, calculator.upliftProbability, calculator.heaveFactorOfSafety, calculator.heaveReliability, @@ -157,7 +155,8 @@ /// private void CalculatePipingReliability() { - upliftProbability = UpliftProbability(); + upliftReliability = SubMechanismReliability(upliftFactorOfSafety, upliftFactors); + upliftProbability = ReliabilityToProbability(upliftReliability); heaveReliability = SubMechanismReliability(heaveFactorOfSafety, heaveFactors); heaveProbability = ReliabilityToProbability(heaveReliability); @@ -190,11 +189,6 @@ return (contribution/returnPeriod)/(1 + (constantA*assessmentSectionLength)/constantB); } - private double UpliftProbability() - { - return upliftFactorOfSafety <= upliftCriticalSafetyFactor ? 1 : 0; - } - private double SubMechanismReliability(double factorOfSafety, SubCalculationFactors factors) { var norm = (1.0/returnPeriod); @@ -230,6 +224,13 @@ public double C; } + private readonly SubCalculationFactors upliftFactors = new SubCalculationFactors + { + A = 0.46, + B = 0.48, + C = 0.27 + }; + private readonly SubCalculationFactors heaveFactors = new SubCalculationFactors { A = 0.48, Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingCalculationScenarioTest.cs =================================================================== diff -u -r11f0867b39150ae5fac83dc178a89fee46d27611 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingCalculationScenarioTest.cs (.../PipingCalculationScenarioTest.cs) (revision 11f0867b39150ae5fac83dc178a89fee46d27611) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingCalculationScenarioTest.cs (.../PipingCalculationScenarioTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -87,7 +87,7 @@ var scenario = new PipingCalculationScenario(new GeneralPipingInput()) { Output = new TestPipingOutput(), - SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, expectedProbability, 0, 0) + SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, expectedProbability, 0, 0) }; // Call @@ -131,7 +131,7 @@ var scenario = new PipingCalculationScenario(new GeneralPipingInput()) { Output = new TestPipingOutput(), - SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, double.NaN, 0, 0) + SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, double.NaN, 0, 0) }; // Call @@ -150,7 +150,7 @@ var scenario = new PipingCalculationScenario(new GeneralPipingInput()) { Output = new TestPipingOutput(), - SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, expectedProbability, 0, 0) + SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, expectedProbability, 0, 0) }; // Call Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingProbabilityAssessmentInputTest.cs =================================================================== diff -u -raf62e374c37713df98c2866ec4bfa64206b5b2b3 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingProbabilityAssessmentInputTest.cs (.../PipingProbabilityAssessmentInputTest.cs) (revision af62e374c37713df98c2866ec4bfa64206b5b2b3) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingProbabilityAssessmentInputTest.cs (.../PipingProbabilityAssessmentInputTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -20,10 +20,7 @@ // All rights reserved. using System; -using Core.Common.Base.Data; -using Core.Common.TestUtil; using NUnit.Framework; -using Ringtoets.Common.Data.TestUtil; namespace Ringtoets.Piping.Data.Test { @@ -40,9 +37,6 @@ Assert.AreEqual(0.4, pipingProbabilityAssessmentInput.A); Assert.AreEqual(300, pipingProbabilityAssessmentInput.B); - Assert.AreEqual(1.2, pipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor.Value); - Assert.AreEqual(1, pipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor.NumberOfDecimalPlaces); - Assert.IsNaN(pipingProbabilityAssessmentInput.SectionLength); } @@ -81,40 +75,5 @@ // Assert Assert.AreEqual(value, pipingProbabilityAssessmentInput.A); } - - [Test] - [TestCase(-0.05)] - [TestCase(0.0)] - [TestCase(0.04)] - [TestCase(50.05)] - [TestCase(50.1)] - public void UpliftCriticalSafetyFactor_InvalidValue_ThrowsArgumentException(double value) - { - // Setup - var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput(); - - // Call - TestDelegate test = () => pipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor = (RoundedDouble) value; - - // Assert - var expectedMessage = "Kritische veiligheidsfactor voor opbarsten moet in het bereik (0, 50] liggen."; - TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); - } - - [Test] - [TestCase(0.05)] - [TestCase(50.04)] - [TestCase(50.0)] - public void UpliftCriticalSafetyFactor_ValidValue_SetsValue(double value) - { - // Setup - var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput(); - - // Call - pipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor = (RoundedDouble) value; - - // Assert - Assert.AreEqual(value, pipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor, pipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor.GetAccuracy()); - } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingSemiProbabilisticOutputTest.cs =================================================================== diff -u -raf62e374c37713df98c2866ec4bfa64206b5b2b3 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingSemiProbabilisticOutputTest.cs (.../PipingSemiProbabilisticOutputTest.cs) (revision af62e374c37713df98c2866ec4bfa64206b5b2b3) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingSemiProbabilisticOutputTest.cs (.../PipingSemiProbabilisticOutputTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -35,6 +35,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -51,6 +52,7 @@ // Call var output = new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -66,6 +68,7 @@ // Assert Assert.AreEqual(upliftFactorOfSafety, output.UpliftFactorOfSafety, output.UpliftFactorOfSafety.GetAccuracy()); + Assert.AreEqual(upliftReliability, output.UpliftReliability, output.UpliftReliability.GetAccuracy()); Assert.AreEqual(upliftProbability, output.UpliftProbability); Assert.AreEqual(heaveFactorOfSafety, output.HeaveFactorOfSafety, output.HeaveFactorOfSafety.GetAccuracy()); Assert.AreEqual(heaveReliability, output.HeaveReliability, output.HeaveReliability.GetAccuracy()); @@ -90,6 +93,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -105,6 +109,7 @@ // Call var output = new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -134,6 +139,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -149,6 +155,7 @@ // Call TestDelegate call = () => new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -177,6 +184,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -192,6 +200,7 @@ // Call var output = new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -221,6 +230,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -236,6 +246,7 @@ // Call TestDelegate call = () => new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -264,6 +275,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -279,6 +291,7 @@ // Call var output = new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -308,6 +321,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -323,6 +337,7 @@ // Call TestDelegate call = () => new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -351,6 +366,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); double heaveProbability = random.NextDouble(); @@ -366,6 +382,7 @@ // Call var output = new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -395,6 +412,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); double heaveProbability = random.NextDouble(); @@ -410,6 +428,7 @@ // Call TestDelegate call = () => new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -438,6 +457,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -453,6 +473,7 @@ // Call var output = new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -482,6 +503,7 @@ // Setup var random = new Random(21); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -497,6 +519,7 @@ // Call TestDelegate call = () => new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationScenarioFactory.cs =================================================================== diff -u -r41a37c93cb0b3e36ff7023c9f42b4e6225598b55 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationScenarioFactory.cs (.../PipingCalculationScenarioFactory.cs) (revision 41a37c93cb0b3e36ff7023c9f42b4e6225598b55) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationScenarioFactory.cs (.../PipingCalculationScenarioFactory.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -55,6 +55,7 @@ random.NextDouble(), random.NextDouble(), random.NextDouble(), + random.NextDouble(), (RoundedDouble) probability, random.NextDouble(), random.NextDouble()); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingFailureMechanismContextPropertiesTest.cs =================================================================== diff -u -raf62e374c37713df98c2866ec4bfa64206b5b2b3 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingFailureMechanismContextPropertiesTest.cs (.../PipingFailureMechanismContextPropertiesTest.cs) (revision af62e374c37713df98c2866ec4bfa64206b5b2b3) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingFailureMechanismContextPropertiesTest.cs (.../PipingFailureMechanismContextPropertiesTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -85,7 +85,6 @@ Assert.AreEqual(failureMechanism.GeneralInput.MeanDiameter70, properties.MeanDiameter70); Assert.AreEqual(failureMechanism.GeneralInput.SellmeijerReductionFactor, properties.SellmeijerReductionFactor); - Assert.AreEqual(failureMechanism.PipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor, properties.UpliftCriticalSafetyFactor); Assert.AreEqual(failureMechanism.PipingProbabilityAssessmentInput.A, properties.A); Assert.AreEqual(failureMechanism.PipingProbabilityAssessmentInput.B, properties.B); @@ -105,7 +104,7 @@ // Assert var dynamicPropertyBag = new DynamicPropertyBag(properties); PropertyDescriptorCollection dynamicProperties = dynamicPropertyBag.GetProperties(); - Assert.AreEqual(17, dynamicProperties.Count); + Assert.AreEqual(16, dynamicProperties.Count); var generalCategory = "Algemeen"; var heaveCategory = "Heave"; @@ -170,56 +169,49 @@ Assert.AreEqual("Kritiek verhang m.b.t. heave [-]", criticalHeaveGradientProperty.DisplayName); Assert.AreEqual("Kritiek verhang met betrekking tot heave.", criticalHeaveGradientProperty.Description); - PropertyDescriptor criticalSafetyFactorUpliftProperty = dynamicProperties[8]; - Assert.IsNotNull(criticalSafetyFactorUpliftProperty); - Assert.IsFalse(criticalSafetyFactorUpliftProperty.IsReadOnly); - Assert.AreEqual(upliftCategory, criticalSafetyFactorUpliftProperty.Category); - Assert.AreEqual("Kritische veiligheidsfactor voor opbarsten [-]", criticalSafetyFactorUpliftProperty.DisplayName); - Assert.AreEqual("De veiligheidsfactor die wordt vergeleken met de berekende stabiliteitsfactor van het submechanisme opbarsten.", criticalSafetyFactorUpliftProperty.Description); - - PropertyDescriptor volumetricWeightSandParticlesProperty = dynamicProperties[9]; + PropertyDescriptor volumetricWeightSandParticlesProperty = dynamicProperties[8]; Assert.IsNotNull(volumetricWeightSandParticlesProperty); Assert.IsTrue(volumetricWeightSandParticlesProperty.IsReadOnly); Assert.AreEqual(sellmeijerCategory, volumetricWeightSandParticlesProperty.Category); Assert.AreEqual("Volumiek gewicht van de zandkorrels onder water [kN/m³]", volumetricWeightSandParticlesProperty.DisplayName); Assert.AreEqual("Het (ondergedompelde) volumegewicht van zandkorrelmateriaal van een zandlaag.", volumetricWeightSandParticlesProperty.Description); - PropertyDescriptor whitesDragCoefficientProperty = dynamicProperties[10]; + PropertyDescriptor whitesDragCoefficientProperty = dynamicProperties[9]; Assert.IsNotNull(whitesDragCoefficientProperty); Assert.IsTrue(whitesDragCoefficientProperty.IsReadOnly); Assert.AreEqual(sellmeijerCategory, whitesDragCoefficientProperty.Category); Assert.AreEqual("Coëfficiënt van White [-]", whitesDragCoefficientProperty.DisplayName); Assert.AreEqual("Sleepkrachtfactor volgens White.", whitesDragCoefficientProperty.Description); - PropertyDescriptor beddingAngleProperty = dynamicProperties[11]; + PropertyDescriptor beddingAngleProperty = dynamicProperties[10]; Assert.IsNotNull(beddingAngleProperty); Assert.IsTrue(beddingAngleProperty.IsReadOnly); Assert.AreEqual(sellmeijerCategory, beddingAngleProperty.Category); Assert.AreEqual("Rolweerstandshoek [°]", beddingAngleProperty.DisplayName); Assert.AreEqual("Hoek in het krachtenevenwicht die aangeeft hoeveel weerstand de korrels bieden tegen rollen; ook beddingshoek genoemd.", beddingAngleProperty.Description); - PropertyDescriptor waterKinematicViscosityProperty = dynamicProperties[12]; + PropertyDescriptor waterKinematicViscosityProperty = dynamicProperties[11]; Assert.IsNotNull(waterKinematicViscosityProperty); Assert.IsTrue(waterKinematicViscosityProperty.IsReadOnly); Assert.AreEqual(sellmeijerCategory, waterKinematicViscosityProperty.Category); Assert.AreEqual("Kinematische viscositeit van water bij 10° C [m²/s]", waterKinematicViscosityProperty.DisplayName); Assert.AreEqual("Kinematische viscositeit van water bij 10° C.", waterKinematicViscosityProperty.Description); - PropertyDescriptor gravityProperty = dynamicProperties[13]; + PropertyDescriptor gravityProperty = dynamicProperties[12]; Assert.IsNotNull(gravityProperty); Assert.IsTrue(gravityProperty.IsReadOnly); Assert.AreEqual(sellmeijerCategory, gravityProperty.Category); Assert.AreEqual("Valversnelling [m/s²]", gravityProperty.DisplayName); Assert.AreEqual("Valversnelling.", gravityProperty.Description); - PropertyDescriptor meanDiameter70Property = dynamicProperties[14]; + PropertyDescriptor meanDiameter70Property = dynamicProperties[13]; Assert.IsNotNull(meanDiameter70Property); Assert.IsTrue(meanDiameter70Property.IsReadOnly); Assert.AreEqual(sellmeijerCategory, meanDiameter70Property.Category); Assert.AreEqual("Referentiewaarde voor 70%-fraktiel in Sellmeijer regel [m]", meanDiameter70Property.DisplayName); Assert.AreEqual("Gemiddelde d70 van de in kleine schaalproeven toegepaste zandsoorten, waarop de formule van Sellmeijer is gefit.", meanDiameter70Property.Description); - PropertyDescriptor reductionFactorSellmeijerProperty = dynamicProperties[15]; + PropertyDescriptor reductionFactorSellmeijerProperty = dynamicProperties[14]; Assert.IsNotNull(reductionFactorSellmeijerProperty); Assert.IsTrue(reductionFactorSellmeijerProperty.IsReadOnly); Assert.AreEqual(sellmeijerCategory, reductionFactorSellmeijerProperty.Category); @@ -286,32 +278,5 @@ Assert.AreEqual(value, failureMechanism.PipingProbabilityAssessmentInput.A); mocks.VerifyAll(); } - - [Test] - public void UpliftCriticalSafetyFactor_Always_UpdateGeneralInputAndUpdateObservers() - { - // Setup - var mocks = new MockRepository(); - var observerMock = mocks.StrictMock(); - observerMock.Expect(o => o.UpdateObserver()); - mocks.ReplayAll(); - - var failureMechanism = new PipingFailureMechanism(); - var properties = new PipingFailureMechanismContextProperties - { - Data = new PipingFailureMechanismContext(failureMechanism, new MockRepository().StrictMock()) - }; - - failureMechanism.Attach(observerMock); - var value = new Random(21).NextDouble() + 0.1; - - // Call - properties.UpliftCriticalSafetyFactor = (RoundedDouble) value; - - // Assert - var upliftCriticalSafetyFactor = failureMechanism.PipingProbabilityAssessmentInput.UpliftCriticalSafetyFactor; - Assert.AreEqual(value, upliftCriticalSafetyFactor, upliftCriticalSafetyFactor.GetAccuracy()); - mocks.VerifyAll(); - } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingSemiProbabilisticOutputPropertiesTest.cs =================================================================== diff -u -r6df6f70e123f3130e110822dfec7ee55822aef5f -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingSemiProbabilisticOutputPropertiesTest.cs (.../PipingSemiProbabilisticOutputPropertiesTest.cs) (revision 6df6f70e123f3130e110822dfec7ee55822aef5f) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/PropertyClasses/PipingSemiProbabilisticOutputPropertiesTest.cs (.../PipingSemiProbabilisticOutputPropertiesTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -49,6 +49,7 @@ // Setup var random = new Random(22); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -65,6 +66,7 @@ // Call var semiProbabilisticOutput = new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -86,6 +88,7 @@ // Call & Assert var probabilityFormat = "1/{0:n0}"; Assert.AreEqual(upliftFactorOfSafety, properties.UpliftFactorOfSafety, properties.UpliftFactorOfSafety.GetAccuracy()); + Assert.AreEqual(upliftReliability, properties.UpliftReliability, properties.UpliftReliability.GetAccuracy()); Assert.AreEqual(string.Format(probabilityFormat, 1.0/upliftProbability), properties.UpliftProbability); Assert.AreEqual(heaveFactorOfSafety, properties.HeaveFactorOfSafety, properties.HeaveFactorOfSafety.GetAccuracy()); Assert.AreEqual(heaveReliability, properties.HeaveReliability, properties.HeaveReliability.GetAccuracy()); @@ -106,6 +109,7 @@ // Setup var random = new Random(22); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); double sellmeijerFactorOfSafety = random.NextDouble(); @@ -123,6 +127,7 @@ // Call var semiProbabilisticOutput = new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -156,6 +161,7 @@ // Setup var random = new Random(22); double upliftFactorOfSafety = random.NextDouble(); + double upliftReliability = random.NextDouble(); double upliftProbability = random.NextDouble(); double heaveFactorOfSafety = random.NextDouble(); double heaveReliability = random.NextDouble(); @@ -172,6 +178,7 @@ // Call var semiProbabilisticOutput = new PipingSemiProbabilisticOutput( upliftFactorOfSafety, + upliftReliability, upliftProbability, heaveFactorOfSafety, heaveReliability, @@ -197,7 +204,7 @@ { BrowsableAttribute.Yes }); - Assert.AreEqual(13, dynamicProperties.Count); + Assert.AreEqual(14, dynamicProperties.Count); var heaveCategory = "\t\tHeave"; var upliftCategory = "\t\t\tOpbarsten"; @@ -211,84 +218,91 @@ Assert.AreEqual("Veiligheidsfactor [-]", upliftFactorOfSafetyProperty.DisplayName); Assert.AreEqual("De veiligheidsfactor voor het submechanisme opbarsten voor deze berekening.", upliftFactorOfSafetyProperty.Description); - PropertyDescriptor upliftProbabilityProperty = dynamicProperties[1]; + PropertyDescriptor upliftReliabilityProperty = dynamicProperties[1]; + Assert.IsNotNull(upliftReliabilityProperty); + Assert.IsTrue(upliftReliabilityProperty.IsReadOnly); + Assert.AreEqual(upliftCategory, upliftReliabilityProperty.Category); + Assert.AreEqual("Betrouwbaarheidsindex [-]", upliftReliabilityProperty.DisplayName); + Assert.AreEqual("De betrouwbaarheidsindex voor het submechanisme opbarsten voor deze berekening.", upliftReliabilityProperty.Description); + + PropertyDescriptor upliftProbabilityProperty = dynamicProperties[2]; Assert.IsNotNull(upliftProbabilityProperty); Assert.IsTrue(upliftProbabilityProperty.IsReadOnly); Assert.AreEqual(upliftCategory, upliftProbabilityProperty.Category); Assert.AreEqual("Kans van voorkomen [1/jaar]", upliftProbabilityProperty.DisplayName); Assert.AreEqual("De kans dat het submechanisme opbarsten optreedt voor deze berekening.", upliftProbabilityProperty.Description); - PropertyDescriptor heaveFactorOfSafetyProperty = dynamicProperties[2]; + PropertyDescriptor heaveFactorOfSafetyProperty = dynamicProperties[3]; Assert.IsNotNull(heaveFactorOfSafetyProperty); Assert.IsTrue(heaveFactorOfSafetyProperty.IsReadOnly); Assert.AreEqual(heaveCategory, heaveFactorOfSafetyProperty.Category); Assert.AreEqual("Veiligheidsfactor [-]", heaveFactorOfSafetyProperty.DisplayName); Assert.AreEqual("De veiligheidsfactor voor het submechanisme heave voor deze berekening.", heaveFactorOfSafetyProperty.Description); - PropertyDescriptor heaveReliabilityProperty = dynamicProperties[3]; + PropertyDescriptor heaveReliabilityProperty = dynamicProperties[4]; Assert.IsNotNull(heaveReliabilityProperty); Assert.IsTrue(heaveReliabilityProperty.IsReadOnly); Assert.AreEqual(heaveCategory, heaveReliabilityProperty.Category); Assert.AreEqual("Betrouwbaarheidsindex [-]", heaveReliabilityProperty.DisplayName); Assert.AreEqual("De betrouwbaarheidsindex voor het submechanisme heave voor deze berekening.", heaveReliabilityProperty.Description); - PropertyDescriptor heaveProbabilityProperty = dynamicProperties[4]; + PropertyDescriptor heaveProbabilityProperty = dynamicProperties[5]; Assert.IsNotNull(heaveProbabilityProperty); Assert.IsTrue(heaveProbabilityProperty.IsReadOnly); Assert.AreEqual(heaveCategory, heaveProbabilityProperty.Category); Assert.AreEqual("Kans van voorkomen [1/jaar]", heaveProbabilityProperty.DisplayName); Assert.AreEqual("De kans dat het submechanisme heave optreedt voor deze berekening.", heaveProbabilityProperty.Description); - PropertyDescriptor sellmeijerFactorOfSafetyProperty = dynamicProperties[5]; + PropertyDescriptor sellmeijerFactorOfSafetyProperty = dynamicProperties[6]; Assert.IsNotNull(sellmeijerFactorOfSafetyProperty); Assert.IsTrue(sellmeijerFactorOfSafetyProperty.IsReadOnly); Assert.AreEqual(sellmeijerCategory, sellmeijerFactorOfSafetyProperty.Category); Assert.AreEqual("Veiligheidsfactor [-]", sellmeijerFactorOfSafetyProperty.DisplayName); Assert.AreEqual("De veiligheidsfactor voor het submechanisme terugschrijdende erosie (Sellmeijer) voor deze berekening.", sellmeijerFactorOfSafetyProperty.Description); - PropertyDescriptor sellmeijerReliabilityProperty = dynamicProperties[6]; + PropertyDescriptor sellmeijerReliabilityProperty = dynamicProperties[7]; Assert.IsNotNull(sellmeijerReliabilityProperty); Assert.IsTrue(sellmeijerReliabilityProperty.IsReadOnly); Assert.AreEqual(sellmeijerCategory, sellmeijerReliabilityProperty.Category); Assert.AreEqual("Betrouwbaarheidsindex [-]", sellmeijerReliabilityProperty.DisplayName); Assert.AreEqual("De betrouwbaarheidsindex voor het submechanisme terugschrijdende erosie (Sellmeijer) voor deze berekening.", sellmeijerReliabilityProperty.Description); - PropertyDescriptor sellmeijerProbabilityProperty = dynamicProperties[7]; + PropertyDescriptor sellmeijerProbabilityProperty = dynamicProperties[8]; Assert.IsNotNull(sellmeijerProbabilityProperty); Assert.IsTrue(sellmeijerProbabilityProperty.IsReadOnly); Assert.AreEqual(sellmeijerCategory, sellmeijerProbabilityProperty.Category); Assert.AreEqual("Kans van voorkomen [1/jaar]", sellmeijerProbabilityProperty.DisplayName); Assert.AreEqual("De kans dat het submechanisme terugschrijdende erosie (Sellmeijer) optreedt voor deze berekening.", sellmeijerProbabilityProperty.Description); - PropertyDescriptor requiredProbabilityProperty = dynamicProperties[8]; + PropertyDescriptor requiredProbabilityProperty = dynamicProperties[9]; Assert.IsNotNull(requiredProbabilityProperty); Assert.IsTrue(requiredProbabilityProperty.IsReadOnly); Assert.AreEqual(pipingCategory, requiredProbabilityProperty.Category); Assert.AreEqual("Faalkanseis [1/jaar]", requiredProbabilityProperty.DisplayName); Assert.AreEqual("De maximaal toegestane kans dat het toetsspoor piping optreedt.", requiredProbabilityProperty.Description); - PropertyDescriptor requiredReliabilityProperty = dynamicProperties[9]; + PropertyDescriptor requiredReliabilityProperty = dynamicProperties[10]; Assert.IsNotNull(requiredReliabilityProperty); Assert.IsTrue(requiredReliabilityProperty.IsReadOnly); Assert.AreEqual(pipingCategory, requiredReliabilityProperty.Category); Assert.AreEqual("Betrouwbaarheidsindex faalkanseis [-]", requiredReliabilityProperty.DisplayName); Assert.AreEqual("De betrouwbaarheidsindex van de faalkanseis voor het toetsspoor piping.", requiredReliabilityProperty.Description); - PropertyDescriptor pipingProbabilityProperty = dynamicProperties[10]; + PropertyDescriptor pipingProbabilityProperty = dynamicProperties[11]; Assert.IsNotNull(pipingProbabilityProperty); Assert.IsTrue(pipingProbabilityProperty.IsReadOnly); Assert.AreEqual(pipingCategory, pipingProbabilityProperty.Category); Assert.AreEqual("Benaderde faalkans [1/jaar]", pipingProbabilityProperty.DisplayName); Assert.AreEqual("De benaderde kans dat het toetsspoor piping optreedt voor deze berekening.", pipingProbabilityProperty.Description); - PropertyDescriptor pipingReliabilityProperty = dynamicProperties[11]; + PropertyDescriptor pipingReliabilityProperty = dynamicProperties[12]; Assert.IsNotNull(pipingReliabilityProperty); Assert.IsTrue(pipingReliabilityProperty.IsReadOnly); Assert.AreEqual(pipingCategory, pipingReliabilityProperty.Category); Assert.AreEqual("Betrouwbaarheidsindex faalkans [-]", pipingReliabilityProperty.DisplayName); Assert.AreEqual("De betrouwbaarheidsindex van de faalkans voor deze berekening.", pipingReliabilityProperty.Description); - PropertyDescriptor pipingFactorOfSafetyProperty = dynamicProperties[12]; + PropertyDescriptor pipingFactorOfSafetyProperty = dynamicProperties[13]; Assert.IsNotNull(pipingFactorOfSafetyProperty); Assert.IsTrue(pipingFactorOfSafetyProperty.IsReadOnly); Assert.AreEqual(pipingCategory, pipingFactorOfSafetyProperty.Category); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingSemiProbabilisticOutputTreeNodeInfoTest.cs =================================================================== diff -u -rdca4da4c1f78e4074d1a4513411e3509344ec169 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingSemiProbabilisticOutputTreeNodeInfoTest.cs (.../PipingSemiProbabilisticOutputTreeNodeInfoTest.cs) (revision dca4da4c1f78e4074d1a4513411e3509344ec169) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingSemiProbabilisticOutputTreeNodeInfoTest.cs (.../PipingSemiProbabilisticOutputTreeNodeInfoTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -82,7 +82,7 @@ public void Text_Always_ReturnsTextFromResource() { // Setup - var pipingOutput = mocks.StrictMock(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + var pipingOutput = mocks.StrictMock(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); mocks.ReplayAll(); @@ -97,7 +97,7 @@ public void Image_Always_ReturnsSetImage() { // Setup - var pipingOutput = mocks.StrictMock(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + var pipingOutput = mocks.StrictMock(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); mocks.ReplayAll(); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenarioRowTest.cs =================================================================== diff -u -re42bdf3dd379c46bab9212eb7b30f4754c9bc91c -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenarioRowTest.cs (.../PipingScenarioRowTest.cs) (revision e42bdf3dd379c46bab9212eb7b30f4754c9bc91c) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenarioRowTest.cs (.../PipingScenarioRowTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -65,6 +65,7 @@ random.NextDouble(), random.NextDouble(), random.NextDouble(), + random.NextDouble(), random.NextDouble()); // Call Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenariosViewTest.cs =================================================================== diff -u -r24da3aa72ccc0776599628c9f971081694048d9a -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenariosViewTest.cs (.../PipingScenariosViewTest.cs) (revision 24da3aa72ccc0776599628c9f971081694048d9a) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/Views/PipingScenariosViewTest.cs (.../PipingScenariosViewTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -391,6 +391,7 @@ double.NaN, double.NaN, double.NaN, + double.NaN, 0.0005, double.NaN, double.NaN, Index: Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs =================================================================== diff -u -r24da3aa72ccc0776599628c9f971081694048d9a -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs (.../PipingFailureMechanismResultViewIntegrationTest.cs) (revision 24da3aa72ccc0776599628c9f971081694048d9a) +++ Ringtoets/Piping/test/Ringtoets.Piping.Integration.Test/PipingFailureMechanismResultViewIntegrationTest.cs (.../PipingFailureMechanismResultViewIntegrationTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -110,7 +110,7 @@ // Execute the first calculation and ensure the data grid view is updated const double probability = 1.0/31846382.0; pipingCalculation1.Output = new PipingOutput(0, 0, 0, 0, 0, 0); - pipingCalculation1.SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, probability, 0, 0); + pipingCalculation1.SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, probability, 0, 0); pipingCalculation1.NotifyObservers(); Assert.AreEqual(string.Format("1/{0:N0}", 1.0/pipingCalculation1.Probability), dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].FormattedValue); Assert.AreEqual(string.Empty, dataGridView.Rows[22].Cells[assessmentLayerTwoAIndex].ErrorText); Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingSemiProbabilisticCalculationServiceTest.cs =================================================================== diff -u -ref2c6cb7afd29e17ada49f5a18b9e21968122232 -rb190a14336e0d8fe9aec34e81a68194081c76155 --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingSemiProbabilisticCalculationServiceTest.cs (.../PipingSemiProbabilisticCalculationServiceTest.cs) (revision ef2c6cb7afd29e17ada49f5a18b9e21968122232) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingSemiProbabilisticCalculationServiceTest.cs (.../PipingSemiProbabilisticCalculationServiceTest.cs) (revision b190a14336e0d8fe9aec34e81a68194081c76155) @@ -32,21 +32,17 @@ public class PipingSemiProbabilisticCalculationServiceTest { [Test] - [TestCase(1.24, 1.2, 1.0)] - [TestCase(24.64, 24.63, 0.0)] - [TestCase(24.64, 50.0, 0.0)] - [TestCase(12, 11.94, 1.0)] - public void UpliftProbability_DifferentInputs_ReturnsExpectedValue(double criticalFactorOfSafety, double factorOfSafety, double expectedResult) + [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 UpliftProbability_DifferentInputs_ReturnsExpectedValue(int norm, double factorOfSafety, double expectedResult) { // Setup var calculatorResult = new PipingOutput(double.NaN, factorOfSafety, double.NaN, double.NaN, double.NaN, double.NaN); var calculation = AsPipingCalculation(calculatorResult); - var norm = new Random(21).Next(100, 300000); - PipingSemiProbabilisticCalculationService.Calculate(calculation, new PipingProbabilityAssessmentInput - { - UpliftCriticalSafetyFactor = (RoundedDouble) criticalFactorOfSafety - }, norm, double.NaN); + PipingSemiProbabilisticCalculationService.Calculate(calculation, new PipingProbabilityAssessmentInput(), norm, double.NaN); // Call double result = calculation.SemiProbabilisticOutput.UpliftProbability; @@ -96,12 +92,12 @@ } [Test] - [TestCase(30000, 1.4, 0.6, 0.9, double.PositiveInfinity)] - [TestCase(30000, 1.1, 1.4, 0.9, 5.264767065)] - [TestCase(30000, 1.1, 0.6, 1.1, 4.786155161)] - [TestCase(20000, 1.4, 0.6, 0.9, double.PositiveInfinity)] - [TestCase(20000, 1.1, 1.4, 0.9, 5.203962658)] - [TestCase(20000, 1.1, 0.6, 1.1, 4.673091832)] + [TestCase(30000, 1.2, 0.6, 0.9, 4.332647923)] + [TestCase(30000, 1.2, 1.4, 0.9, 5.264767065)] + [TestCase(30000, 1.2, 0.6, 1.1, 4.786155161)] + [TestCase(20000, 1.2, 0.6, 0.9, 4.275544655)] + [TestCase(20000, 1.2, 1.4, 0.9, 5.203962658)] + [TestCase(20000, 1.2, 0.6, 1.1, 4.673091832)] public void PipingReliability_DifferentInputs_ReturnsExpectedValue(int norm, double fosUplift, double fosHeave, double fosSellmeijer, double expectedResult) { // Setup @@ -150,7 +146,7 @@ double fosUplift = 1.2; double fosHeave = 0.6; double fosSellmeijer = 0.9; - double expectedResult = 0.888; + double expectedResult = 0.907; var calculatorResult = new PipingOutput(double.NaN, fosUplift, double.NaN, fosHeave, double.NaN, fosSellmeijer); var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput