Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.TestUtil.Test/StabilityPointStructurePermutationHelperTest.cs =================================================================== diff -u -r39e83a67849b8408e6c2879de1dbb0241739cc74 -r04d81d1eb0414f621c706d8541804f6434e6c3d2 --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.TestUtil.Test/StabilityPointStructurePermutationHelperTest.cs (.../StabilityPointStructurePermutationHelperTest.cs) (revision 39e83a67849b8408e6c2879de1dbb0241739cc74) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.TestUtil.Test/StabilityPointStructurePermutationHelperTest.cs (.../StabilityPointStructurePermutationHelperTest.cs) (revision 04d81d1eb0414f621c706d8541804f6434e6c3d2) @@ -39,47 +39,66 @@ List testCaseDatas = StabilityPointStructurePermutationHelper.DifferentStabilityPointStructures("A", "B").ToList(); // Assert - Assert.AreEqual(28, testCaseDatas.Count); + Assert.AreEqual(47, testCaseDatas.Count); IEnumerable testNames = testCaseDatas .Select(tcd => tcd.TestName) .ToList(); - Assert.AreEqual(28, testNames.Distinct().Count()); + Assert.AreEqual(47, testNames.Distinct().Count()); Assert.IsTrue(testNames.All(tn => tn.StartsWith("A_"))); Assert.IsTrue(testNames.All(tn => tn.EndsWith("_B"))); IEnumerable structures = testCaseDatas .Select(tcd => tcd.Arguments[0]) .OfType() .ToList(); - Assert.AreEqual(28, structures.Count()); + Assert.AreEqual(47, structures.Count()); differentStructures.Add(structures.Single(s => !s.Id.Equals(referenceStructure.Id))); differentStructures.Add(structures.Single(s => !s.Name.Equals(referenceStructure.Name))); differentStructures.Add(structures.Single(s => !s.Location.Equals(referenceStructure.Location))); - differentStructures.Add(structures.Single(s => !s.StorageStructureArea.Equals(referenceStructure.StorageStructureArea))); - differentStructures.Add(structures.Single(s => !s.AllowedLevelIncreaseStorage.Equals(referenceStructure.AllowedLevelIncreaseStorage))); - differentStructures.Add(structures.Single(s => !s.WidthFlowApertures.Equals(referenceStructure.WidthFlowApertures))); - differentStructures.Add(structures.Single(s => !s.InsideWaterLevel.Equals(referenceStructure.InsideWaterLevel))); - differentStructures.Add(structures.Single(s => !s.ThresholdHeightOpenWeir.Equals(referenceStructure.ThresholdHeightOpenWeir))); - differentStructures.Add(structures.Single(s => !s.CriticalOvertoppingDischarge.Equals(referenceStructure.CriticalOvertoppingDischarge))); - differentStructures.Add(structures.Single(s => !s.FlowWidthAtBottomProtection.Equals(referenceStructure.FlowWidthAtBottomProtection))); - differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthLinearLoadModel.Equals(referenceStructure.ConstructiveStrengthLinearLoadModel))); - differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthQuadraticLoadModel.Equals(referenceStructure.ConstructiveStrengthQuadraticLoadModel))); - differentStructures.Add(structures.Single(s => !s.BankWidth.Equals(referenceStructure.BankWidth))); - differentStructures.Add(structures.Single(s => !s.InsideWaterLevelFailureConstruction.Equals(referenceStructure.InsideWaterLevelFailureConstruction))); + differentStructures.Add(structures.Single(s => !s.StorageStructureArea.Mean.Equals(referenceStructure.StorageStructureArea.Mean))); + differentStructures.Add(structures.Single(s => !s.StorageStructureArea.CoefficientOfVariation.Equals(referenceStructure.StorageStructureArea.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.AllowedLevelIncreaseStorage.Mean.Equals(referenceStructure.AllowedLevelIncreaseStorage.Mean))); + differentStructures.Add(structures.Single(s => !s.AllowedLevelIncreaseStorage.StandardDeviation.Equals(referenceStructure.AllowedLevelIncreaseStorage.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.WidthFlowApertures.Mean.Equals(referenceStructure.WidthFlowApertures.Mean))); + differentStructures.Add(structures.Single(s => !s.WidthFlowApertures.StandardDeviation.Equals(referenceStructure.WidthFlowApertures.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevel.Mean.Equals(referenceStructure.InsideWaterLevel.Mean))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevel.StandardDeviation.Equals(referenceStructure.InsideWaterLevel.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.ThresholdHeightOpenWeir.Mean.Equals(referenceStructure.ThresholdHeightOpenWeir.Mean))); + differentStructures.Add(structures.Single(s => !s.ThresholdHeightOpenWeir.StandardDeviation.Equals(referenceStructure.ThresholdHeightOpenWeir.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.CriticalOvertoppingDischarge.Mean.Equals(referenceStructure.CriticalOvertoppingDischarge.Mean))); + differentStructures.Add(structures.Single(s => !s.CriticalOvertoppingDischarge.CoefficientOfVariation.Equals(referenceStructure.CriticalOvertoppingDischarge.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.FlowWidthAtBottomProtection.Mean.Equals(referenceStructure.FlowWidthAtBottomProtection.Mean))); + differentStructures.Add(structures.Single(s => !s.FlowWidthAtBottomProtection.StandardDeviation.Equals(referenceStructure.FlowWidthAtBottomProtection.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthLinearLoadModel.Mean.Equals(referenceStructure.ConstructiveStrengthLinearLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation.Equals(referenceStructure.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthQuadraticLoadModel.Mean.Equals(referenceStructure.ConstructiveStrengthQuadraticLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation.Equals(referenceStructure.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.BankWidth.Mean.Equals(referenceStructure.BankWidth.Mean))); + differentStructures.Add(structures.Single(s => !s.BankWidth.StandardDeviation.Equals(referenceStructure.BankWidth.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevelFailureConstruction.Mean.Equals(referenceStructure.InsideWaterLevelFailureConstruction.Mean))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevelFailureConstruction.StandardDeviation.Equals(referenceStructure.InsideWaterLevelFailureConstruction.StandardDeviation))); differentStructures.Add(structures.Single(s => !s.EvaluationLevel.Equals(referenceStructure.EvaluationLevel))); - differentStructures.Add(structures.Single(s => !s.LevelCrestStructure.Equals(referenceStructure.LevelCrestStructure))); + differentStructures.Add(structures.Single(s => !s.LevelCrestStructure.Mean.Equals(referenceStructure.LevelCrestStructure.Mean))); + differentStructures.Add(structures.Single(s => !s.LevelCrestStructure.StandardDeviation.Equals(referenceStructure.LevelCrestStructure.StandardDeviation))); differentStructures.Add(structures.Single(s => !s.VerticalDistance.Equals(referenceStructure.VerticalDistance))); differentStructures.Add(structures.Single(s => !s.FailureProbabilityRepairClosure.Equals(referenceStructure.FailureProbabilityRepairClosure))); - differentStructures.Add(structures.Single(s => !s.FailureCollisionEnergy.Equals(referenceStructure.FailureCollisionEnergy))); - differentStructures.Add(structures.Single(s => !s.ShipMass.Equals(referenceStructure.ShipMass))); - differentStructures.Add(structures.Single(s => !s.ShipVelocity.Equals(referenceStructure.ShipVelocity))); + differentStructures.Add(structures.Single(s => !s.FailureCollisionEnergy.Mean.Equals(referenceStructure.FailureCollisionEnergy.Mean))); + differentStructures.Add(structures.Single(s => !s.FailureCollisionEnergy.CoefficientOfVariation.Equals(referenceStructure.FailureCollisionEnergy.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.ShipMass.Mean.Equals(referenceStructure.ShipMass.Mean))); + differentStructures.Add(structures.Single(s => !s.ShipMass.CoefficientOfVariation.Equals(referenceStructure.ShipMass.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.ShipVelocity.Mean.Equals(referenceStructure.ShipVelocity.Mean))); + differentStructures.Add(structures.Single(s => !s.ShipVelocity.CoefficientOfVariation.Equals(referenceStructure.ShipVelocity.CoefficientOfVariation))); differentStructures.Add(structures.Single(s => !s.LevellingCount.Equals(referenceStructure.LevellingCount))); differentStructures.Add(structures.Single(s => !s.ProbabilityCollisionSecondaryStructure.Equals(referenceStructure.ProbabilityCollisionSecondaryStructure))); - differentStructures.Add(structures.Single(s => !s.FlowVelocityStructureClosable.Equals(referenceStructure.FlowVelocityStructureClosable))); - differentStructures.Add(structures.Single(s => !s.StabilityLinearLoadModel.Equals(referenceStructure.StabilityLinearLoadModel))); - differentStructures.Add(structures.Single(s => !s.StabilityQuadraticLoadModel.Equals(referenceStructure.StabilityQuadraticLoadModel))); - differentStructures.Add(structures.Single(s => !s.AreaFlowApertures.Equals(referenceStructure.AreaFlowApertures))); + differentStructures.Add(structures.Single(s => !s.FlowVelocityStructureClosable.Mean.Equals(referenceStructure.FlowVelocityStructureClosable.Mean))); + differentStructures.Add(structures.Single(s => !s.FlowVelocityStructureClosable.CoefficientOfVariation.Equals(referenceStructure.FlowVelocityStructureClosable.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.StabilityLinearLoadModel.Mean.Equals(referenceStructure.StabilityLinearLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.StabilityLinearLoadModel.CoefficientOfVariation.Equals(referenceStructure.StabilityLinearLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.StabilityQuadraticLoadModel.Mean.Equals(referenceStructure.StabilityQuadraticLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.StabilityQuadraticLoadModel.CoefficientOfVariation.Equals(referenceStructure.StabilityQuadraticLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.AreaFlowApertures.Mean.Equals(referenceStructure.AreaFlowApertures.Mean))); + differentStructures.Add(structures.Single(s => !s.AreaFlowApertures.StandardDeviation.Equals(referenceStructure.AreaFlowApertures.StandardDeviation))); differentStructures.Add(structures.Single(s => !s.InflowModelType.Equals(referenceStructure.InflowModelType))); - Assert.AreEqual(28, differentStructures.Distinct().Count()); + Assert.AreEqual(47, differentStructures.Distinct().Count()); } [Test] @@ -93,47 +112,66 @@ List testCaseDatas = StabilityPointStructurePermutationHelper.DifferentStabilityPointStructuresWithSameId("A", "B").ToList(); // Assert - Assert.AreEqual(27, testCaseDatas.Count); + Assert.AreEqual(46, testCaseDatas.Count); IEnumerable testNames = testCaseDatas .Select(tcd => tcd.TestName) .ToList(); - Assert.AreEqual(27, testNames.Distinct().Count()); + Assert.AreEqual(46, testNames.Distinct().Count()); Assert.IsTrue(testNames.All(tn => tn.StartsWith("A_"))); Assert.IsTrue(testNames.All(tn => tn.EndsWith("_B"))); IEnumerable structures = testCaseDatas .Select(tcd => tcd.Arguments[0]) .OfType() .ToList(); - Assert.AreEqual(27, structures.Count()); + Assert.AreEqual(46, structures.Count()); Assert.IsTrue(structures.All(s => s.Id == referenceStructure.Id)); differentStructures.Add(structures.Single(s => !s.Name.Equals(referenceStructure.Name))); differentStructures.Add(structures.Single(s => !s.Location.Equals(referenceStructure.Location))); - differentStructures.Add(structures.Single(s => !s.StorageStructureArea.Equals(referenceStructure.StorageStructureArea))); - differentStructures.Add(structures.Single(s => !s.AllowedLevelIncreaseStorage.Equals(referenceStructure.AllowedLevelIncreaseStorage))); - differentStructures.Add(structures.Single(s => !s.WidthFlowApertures.Equals(referenceStructure.WidthFlowApertures))); - differentStructures.Add(structures.Single(s => !s.InsideWaterLevel.Equals(referenceStructure.InsideWaterLevel))); - differentStructures.Add(structures.Single(s => !s.ThresholdHeightOpenWeir.Equals(referenceStructure.ThresholdHeightOpenWeir))); - differentStructures.Add(structures.Single(s => !s.CriticalOvertoppingDischarge.Equals(referenceStructure.CriticalOvertoppingDischarge))); - differentStructures.Add(structures.Single(s => !s.FlowWidthAtBottomProtection.Equals(referenceStructure.FlowWidthAtBottomProtection))); - differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthLinearLoadModel.Equals(referenceStructure.ConstructiveStrengthLinearLoadModel))); - differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthQuadraticLoadModel.Equals(referenceStructure.ConstructiveStrengthQuadraticLoadModel))); - differentStructures.Add(structures.Single(s => !s.BankWidth.Equals(referenceStructure.BankWidth))); - differentStructures.Add(structures.Single(s => !s.InsideWaterLevelFailureConstruction.Equals(referenceStructure.InsideWaterLevelFailureConstruction))); + differentStructures.Add(structures.Single(s => !s.StorageStructureArea.Mean.Equals(referenceStructure.StorageStructureArea.Mean))); + differentStructures.Add(structures.Single(s => !s.StorageStructureArea.CoefficientOfVariation.Equals(referenceStructure.StorageStructureArea.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.AllowedLevelIncreaseStorage.Mean.Equals(referenceStructure.AllowedLevelIncreaseStorage.Mean))); + differentStructures.Add(structures.Single(s => !s.AllowedLevelIncreaseStorage.StandardDeviation.Equals(referenceStructure.AllowedLevelIncreaseStorage.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.WidthFlowApertures.Mean.Equals(referenceStructure.WidthFlowApertures.Mean))); + differentStructures.Add(structures.Single(s => !s.WidthFlowApertures.StandardDeviation.Equals(referenceStructure.WidthFlowApertures.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevel.Mean.Equals(referenceStructure.InsideWaterLevel.Mean))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevel.StandardDeviation.Equals(referenceStructure.InsideWaterLevel.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.ThresholdHeightOpenWeir.Mean.Equals(referenceStructure.ThresholdHeightOpenWeir.Mean))); + differentStructures.Add(structures.Single(s => !s.ThresholdHeightOpenWeir.StandardDeviation.Equals(referenceStructure.ThresholdHeightOpenWeir.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.CriticalOvertoppingDischarge.Mean.Equals(referenceStructure.CriticalOvertoppingDischarge.Mean))); + differentStructures.Add(structures.Single(s => !s.CriticalOvertoppingDischarge.CoefficientOfVariation.Equals(referenceStructure.CriticalOvertoppingDischarge.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.FlowWidthAtBottomProtection.Mean.Equals(referenceStructure.FlowWidthAtBottomProtection.Mean))); + differentStructures.Add(structures.Single(s => !s.FlowWidthAtBottomProtection.StandardDeviation.Equals(referenceStructure.FlowWidthAtBottomProtection.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthLinearLoadModel.Mean.Equals(referenceStructure.ConstructiveStrengthLinearLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation.Equals(referenceStructure.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthQuadraticLoadModel.Mean.Equals(referenceStructure.ConstructiveStrengthQuadraticLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation.Equals(referenceStructure.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.BankWidth.Mean.Equals(referenceStructure.BankWidth.Mean))); + differentStructures.Add(structures.Single(s => !s.BankWidth.StandardDeviation.Equals(referenceStructure.BankWidth.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevelFailureConstruction.Mean.Equals(referenceStructure.InsideWaterLevelFailureConstruction.Mean))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevelFailureConstruction.StandardDeviation.Equals(referenceStructure.InsideWaterLevelFailureConstruction.StandardDeviation))); differentStructures.Add(structures.Single(s => !s.EvaluationLevel.Equals(referenceStructure.EvaluationLevel))); - differentStructures.Add(structures.Single(s => !s.LevelCrestStructure.Equals(referenceStructure.LevelCrestStructure))); + differentStructures.Add(structures.Single(s => !s.LevelCrestStructure.Mean.Equals(referenceStructure.LevelCrestStructure.Mean))); + differentStructures.Add(structures.Single(s => !s.LevelCrestStructure.StandardDeviation.Equals(referenceStructure.LevelCrestStructure.StandardDeviation))); differentStructures.Add(structures.Single(s => !s.VerticalDistance.Equals(referenceStructure.VerticalDistance))); differentStructures.Add(structures.Single(s => !s.FailureProbabilityRepairClosure.Equals(referenceStructure.FailureProbabilityRepairClosure))); - differentStructures.Add(structures.Single(s => !s.FailureCollisionEnergy.Equals(referenceStructure.FailureCollisionEnergy))); - differentStructures.Add(structures.Single(s => !s.ShipMass.Equals(referenceStructure.ShipMass))); - differentStructures.Add(structures.Single(s => !s.ShipVelocity.Equals(referenceStructure.ShipVelocity))); + differentStructures.Add(structures.Single(s => !s.FailureCollisionEnergy.Mean.Equals(referenceStructure.FailureCollisionEnergy.Mean))); + differentStructures.Add(structures.Single(s => !s.FailureCollisionEnergy.CoefficientOfVariation.Equals(referenceStructure.FailureCollisionEnergy.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.ShipMass.Mean.Equals(referenceStructure.ShipMass.Mean))); + differentStructures.Add(structures.Single(s => !s.ShipMass.CoefficientOfVariation.Equals(referenceStructure.ShipMass.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.ShipVelocity.Mean.Equals(referenceStructure.ShipVelocity.Mean))); + differentStructures.Add(structures.Single(s => !s.ShipVelocity.CoefficientOfVariation.Equals(referenceStructure.ShipVelocity.CoefficientOfVariation))); differentStructures.Add(structures.Single(s => !s.LevellingCount.Equals(referenceStructure.LevellingCount))); differentStructures.Add(structures.Single(s => !s.ProbabilityCollisionSecondaryStructure.Equals(referenceStructure.ProbabilityCollisionSecondaryStructure))); - differentStructures.Add(structures.Single(s => !s.FlowVelocityStructureClosable.Equals(referenceStructure.FlowVelocityStructureClosable))); - differentStructures.Add(structures.Single(s => !s.StabilityLinearLoadModel.Equals(referenceStructure.StabilityLinearLoadModel))); - differentStructures.Add(structures.Single(s => !s.StabilityQuadraticLoadModel.Equals(referenceStructure.StabilityQuadraticLoadModel))); - differentStructures.Add(structures.Single(s => !s.AreaFlowApertures.Equals(referenceStructure.AreaFlowApertures))); + differentStructures.Add(structures.Single(s => !s.FlowVelocityStructureClosable.Mean.Equals(referenceStructure.FlowVelocityStructureClosable.Mean))); + differentStructures.Add(structures.Single(s => !s.FlowVelocityStructureClosable.CoefficientOfVariation.Equals(referenceStructure.FlowVelocityStructureClosable.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.StabilityLinearLoadModel.Mean.Equals(referenceStructure.StabilityLinearLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.StabilityLinearLoadModel.CoefficientOfVariation.Equals(referenceStructure.StabilityLinearLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.StabilityQuadraticLoadModel.Mean.Equals(referenceStructure.StabilityQuadraticLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.StabilityQuadraticLoadModel.CoefficientOfVariation.Equals(referenceStructure.StabilityQuadraticLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.AreaFlowApertures.Mean.Equals(referenceStructure.AreaFlowApertures.Mean))); + differentStructures.Add(structures.Single(s => !s.AreaFlowApertures.StandardDeviation.Equals(referenceStructure.AreaFlowApertures.StandardDeviation))); differentStructures.Add(structures.Single(s => !s.InflowModelType.Equals(referenceStructure.InflowModelType))); - Assert.AreEqual(27, differentStructures.Distinct().Count()); + Assert.AreEqual(46, differentStructures.Distinct().Count()); } [Test] @@ -147,47 +185,66 @@ List testCaseDatas = StabilityPointStructurePermutationHelper.DifferentStabilityPointStructuresWithSameIdNameAndLocation("C", "D").ToList(); // Assert - Assert.AreEqual(25, testCaseDatas.Count); + Assert.AreEqual(44, testCaseDatas.Count); IEnumerable testNames = testCaseDatas .Select(tcd => tcd.TestName) .ToList(); - Assert.AreEqual(25, testNames.Distinct().Count()); + Assert.AreEqual(44, testNames.Distinct().Count()); Assert.IsTrue(testNames.All(tn => tn.StartsWith("C_"))); Assert.IsTrue(testNames.All(tn => tn.EndsWith("_D"))); IEnumerable structures = testCaseDatas .Select(tcd => tcd.Arguments[0]) .OfType() .ToList(); - Assert.AreEqual(25, structures.Count()); + Assert.AreEqual(44, structures.Count()); Assert.IsTrue(structures.All(s => s.Id == referenceStructure.Id)); Assert.IsTrue(structures.All(s => s.Name == referenceStructure.Name)); Assert.IsTrue(structures.All(s => s.Location.Equals(referenceStructure.Location))); - differentStructures.Add(structures.Single(s => !s.StorageStructureArea.Equals(referenceStructure.StorageStructureArea))); - differentStructures.Add(structures.Single(s => !s.AllowedLevelIncreaseStorage.Equals(referenceStructure.AllowedLevelIncreaseStorage))); - differentStructures.Add(structures.Single(s => !s.WidthFlowApertures.Equals(referenceStructure.WidthFlowApertures))); - differentStructures.Add(structures.Single(s => !s.InsideWaterLevel.Equals(referenceStructure.InsideWaterLevel))); - differentStructures.Add(structures.Single(s => !s.ThresholdHeightOpenWeir.Equals(referenceStructure.ThresholdHeightOpenWeir))); - differentStructures.Add(structures.Single(s => !s.CriticalOvertoppingDischarge.Equals(referenceStructure.CriticalOvertoppingDischarge))); - differentStructures.Add(structures.Single(s => !s.FlowWidthAtBottomProtection.Equals(referenceStructure.FlowWidthAtBottomProtection))); - differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthLinearLoadModel.Equals(referenceStructure.ConstructiveStrengthLinearLoadModel))); - differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthQuadraticLoadModel.Equals(referenceStructure.ConstructiveStrengthQuadraticLoadModel))); - differentStructures.Add(structures.Single(s => !s.BankWidth.Equals(referenceStructure.BankWidth))); - differentStructures.Add(structures.Single(s => !s.InsideWaterLevelFailureConstruction.Equals(referenceStructure.InsideWaterLevelFailureConstruction))); + differentStructures.Add(structures.Single(s => !s.StorageStructureArea.Mean.Equals(referenceStructure.StorageStructureArea.Mean))); + differentStructures.Add(structures.Single(s => !s.StorageStructureArea.CoefficientOfVariation.Equals(referenceStructure.StorageStructureArea.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.AllowedLevelIncreaseStorage.Mean.Equals(referenceStructure.AllowedLevelIncreaseStorage.Mean))); + differentStructures.Add(structures.Single(s => !s.AllowedLevelIncreaseStorage.StandardDeviation.Equals(referenceStructure.AllowedLevelIncreaseStorage.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.WidthFlowApertures.Mean.Equals(referenceStructure.WidthFlowApertures.Mean))); + differentStructures.Add(structures.Single(s => !s.WidthFlowApertures.StandardDeviation.Equals(referenceStructure.WidthFlowApertures.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevel.Mean.Equals(referenceStructure.InsideWaterLevel.Mean))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevel.StandardDeviation.Equals(referenceStructure.InsideWaterLevel.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.ThresholdHeightOpenWeir.Mean.Equals(referenceStructure.ThresholdHeightOpenWeir.Mean))); + differentStructures.Add(structures.Single(s => !s.ThresholdHeightOpenWeir.StandardDeviation.Equals(referenceStructure.ThresholdHeightOpenWeir.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.CriticalOvertoppingDischarge.Mean.Equals(referenceStructure.CriticalOvertoppingDischarge.Mean))); + differentStructures.Add(structures.Single(s => !s.CriticalOvertoppingDischarge.CoefficientOfVariation.Equals(referenceStructure.CriticalOvertoppingDischarge.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.FlowWidthAtBottomProtection.Mean.Equals(referenceStructure.FlowWidthAtBottomProtection.Mean))); + differentStructures.Add(structures.Single(s => !s.FlowWidthAtBottomProtection.StandardDeviation.Equals(referenceStructure.FlowWidthAtBottomProtection.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthLinearLoadModel.Mean.Equals(referenceStructure.ConstructiveStrengthLinearLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation.Equals(referenceStructure.ConstructiveStrengthLinearLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthQuadraticLoadModel.Mean.Equals(referenceStructure.ConstructiveStrengthQuadraticLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation.Equals(referenceStructure.ConstructiveStrengthQuadraticLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.BankWidth.Mean.Equals(referenceStructure.BankWidth.Mean))); + differentStructures.Add(structures.Single(s => !s.BankWidth.StandardDeviation.Equals(referenceStructure.BankWidth.StandardDeviation))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevelFailureConstruction.Mean.Equals(referenceStructure.InsideWaterLevelFailureConstruction.Mean))); + differentStructures.Add(structures.Single(s => !s.InsideWaterLevelFailureConstruction.StandardDeviation.Equals(referenceStructure.InsideWaterLevelFailureConstruction.StandardDeviation))); differentStructures.Add(structures.Single(s => !s.EvaluationLevel.Equals(referenceStructure.EvaluationLevel))); - differentStructures.Add(structures.Single(s => !s.LevelCrestStructure.Equals(referenceStructure.LevelCrestStructure))); + differentStructures.Add(structures.Single(s => !s.LevelCrestStructure.Mean.Equals(referenceStructure.LevelCrestStructure.Mean))); + differentStructures.Add(structures.Single(s => !s.LevelCrestStructure.StandardDeviation.Equals(referenceStructure.LevelCrestStructure.StandardDeviation))); differentStructures.Add(structures.Single(s => !s.VerticalDistance.Equals(referenceStructure.VerticalDistance))); differentStructures.Add(structures.Single(s => !s.FailureProbabilityRepairClosure.Equals(referenceStructure.FailureProbabilityRepairClosure))); - differentStructures.Add(structures.Single(s => !s.FailureCollisionEnergy.Equals(referenceStructure.FailureCollisionEnergy))); - differentStructures.Add(structures.Single(s => !s.ShipMass.Equals(referenceStructure.ShipMass))); - differentStructures.Add(structures.Single(s => !s.ShipVelocity.Equals(referenceStructure.ShipVelocity))); + differentStructures.Add(structures.Single(s => !s.FailureCollisionEnergy.Mean.Equals(referenceStructure.FailureCollisionEnergy.Mean))); + differentStructures.Add(structures.Single(s => !s.FailureCollisionEnergy.CoefficientOfVariation.Equals(referenceStructure.FailureCollisionEnergy.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.ShipMass.Mean.Equals(referenceStructure.ShipMass.Mean))); + differentStructures.Add(structures.Single(s => !s.ShipMass.CoefficientOfVariation.Equals(referenceStructure.ShipMass.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.ShipVelocity.Mean.Equals(referenceStructure.ShipVelocity.Mean))); + differentStructures.Add(structures.Single(s => !s.ShipVelocity.CoefficientOfVariation.Equals(referenceStructure.ShipVelocity.CoefficientOfVariation))); differentStructures.Add(structures.Single(s => !s.LevellingCount.Equals(referenceStructure.LevellingCount))); differentStructures.Add(structures.Single(s => !s.ProbabilityCollisionSecondaryStructure.Equals(referenceStructure.ProbabilityCollisionSecondaryStructure))); - differentStructures.Add(structures.Single(s => !s.FlowVelocityStructureClosable.Equals(referenceStructure.FlowVelocityStructureClosable))); - differentStructures.Add(structures.Single(s => !s.StabilityLinearLoadModel.Equals(referenceStructure.StabilityLinearLoadModel))); - differentStructures.Add(structures.Single(s => !s.StabilityQuadraticLoadModel.Equals(referenceStructure.StabilityQuadraticLoadModel))); - differentStructures.Add(structures.Single(s => !s.AreaFlowApertures.Equals(referenceStructure.AreaFlowApertures))); + differentStructures.Add(structures.Single(s => !s.FlowVelocityStructureClosable.Mean.Equals(referenceStructure.FlowVelocityStructureClosable.Mean))); + differentStructures.Add(structures.Single(s => !s.FlowVelocityStructureClosable.CoefficientOfVariation.Equals(referenceStructure.FlowVelocityStructureClosable.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.StabilityLinearLoadModel.Mean.Equals(referenceStructure.StabilityLinearLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.StabilityLinearLoadModel.CoefficientOfVariation.Equals(referenceStructure.StabilityLinearLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.StabilityQuadraticLoadModel.Mean.Equals(referenceStructure.StabilityQuadraticLoadModel.Mean))); + differentStructures.Add(structures.Single(s => !s.StabilityQuadraticLoadModel.CoefficientOfVariation.Equals(referenceStructure.StabilityQuadraticLoadModel.CoefficientOfVariation))); + differentStructures.Add(structures.Single(s => !s.AreaFlowApertures.Mean.Equals(referenceStructure.AreaFlowApertures.Mean))); + differentStructures.Add(structures.Single(s => !s.AreaFlowApertures.StandardDeviation.Equals(referenceStructure.AreaFlowApertures.StandardDeviation))); differentStructures.Add(structures.Single(s => !s.InflowModelType.Equals(referenceStructure.InflowModelType))); - Assert.AreEqual(25, differentStructures.Distinct().Count()); + Assert.AreEqual(44, differentStructures.Distinct().Count()); } } } \ No newline at end of file Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.TestUtil/StabilityPointStructurePermutationHelper.cs =================================================================== diff -u -r39e83a67849b8408e6c2879de1dbb0241739cc74 -r04d81d1eb0414f621c706d8541804f6434e6c3d2 --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.TestUtil/StabilityPointStructurePermutationHelper.cs (.../StabilityPointStructurePermutationHelper.cs) (revision 39e83a67849b8408e6c2879de1dbb0241739cc74) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Data.TestUtil/StabilityPointStructurePermutationHelper.cs (.../StabilityPointStructurePermutationHelper.cs) (revision 04d81d1eb0414f621c706d8541804f6434e6c3d2) @@ -118,100 +118,177 @@ { StorageStructureArea = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentStorageStructureAreaMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + StorageStructureArea = + { CoefficientOfVariation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentStorageStructureArea_{testResultDescription}"); + }).SetName($"{targetName}_DifferentStorageStructureAreaCoefficientOfVariation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { AllowedLevelIncreaseStorage = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentAllowedLevelIncreaseStorageMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + AllowedLevelIncreaseStorage = + { StandardDeviation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentAllowedLevelIncreaseStorage_{testResultDescription}"); + }).SetName($"{targetName}_DifferentAllowedLevelIncreaseStorageStandardDeviation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { WidthFlowApertures = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentWidthFlowAperturesMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + WidthFlowApertures = + { StandardDeviation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentWidthFlowApertures_{testResultDescription}"); + }).SetName($"{targetName}_DifferentWidthFlowAperturesStandardDeviation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { InsideWaterLevel = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentInsideWaterLevelMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + InsideWaterLevel = + { StandardDeviation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentInsideWaterLevel_{testResultDescription}"); + }).SetName($"{targetName}_DifferentInsideWaterLevelStandardDeviation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { ThresholdHeightOpenWeir = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentThresholdHeightOpenWeirMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + ThresholdHeightOpenWeir = + { StandardDeviation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentThresholdHeightOpenWeir_{testResultDescription}"); + }).SetName($"{targetName}_DifferentThresholdHeightOpenWeirStandardDeviation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { CriticalOvertoppingDischarge = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentCriticalOvertoppingDischargeMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + CriticalOvertoppingDischarge = + { CoefficientOfVariation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentCriticalOvertoppingDischarge_{testResultDescription}"); + }).SetName($"{targetName}_DifferentCriticalOvertoppingDischargeCoefficientOfVariation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { FlowWidthAtBottomProtection = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentFlowWidthAtBottomProtectionMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + FlowWidthAtBottomProtection = + { StandardDeviation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentFlowWidthAtBottomProtection_{testResultDescription}"); + }).SetName($"{targetName}_DifferentFlowWidthAtBottomProtectionStandardDeviation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { ConstructiveStrengthLinearLoadModel = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentConstructiveStrengthLinearLoadModelMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + ConstructiveStrengthLinearLoadModel = + { CoefficientOfVariation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentConstructiveStrengthLinearLoadModel_{testResultDescription}"); + }).SetName($"{targetName}_DifferentConstructiveStrengthLinearLoadModelCoefficientOfVariation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { ConstructiveStrengthQuadraticLoadModel = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentConstructiveStrengthQuadraticLoadModelMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + ConstructiveStrengthQuadraticLoadModel = + { CoefficientOfVariation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentConstructiveStrengthQuadraticLoadModel_{testResultDescription}"); + }).SetName($"{targetName}_DifferentConstructiveStrengthQuadraticLoadModelCoefficientOfVariation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { BankWidth = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentBankWidthMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + BankWidth = + { StandardDeviation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentBankWidth_{testResultDescription}"); + }).SetName($"{targetName}_DifferentBankWidthStandardDeviation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { InsideWaterLevelFailureConstruction = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentInsideWaterLevelFailureConstructionMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + InsideWaterLevelFailureConstruction = + { StandardDeviation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentInsideWaterLevelFailureConstruction_{testResultDescription}"); + }).SetName($"{targetName}_DifferentInsideWaterLevelFailureConstructionStandardDeviation_{testResultDescription}"); StabilityPointStructure.ConstructionProperties differentEvaluationLevelConstructionProperties = CreateTestStabilityPointStructureConstructionProperties(); @@ -223,10 +300,17 @@ { LevelCrestStructure = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentLevelCrestStructureMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + LevelCrestStructure = + { StandardDeviation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentLevelCrestStructure_{testResultDescription}"); + }).SetName($"{targetName}_DifferentLevelCrestStructureStandardDeviation_{testResultDescription}"); StabilityPointStructure.ConstructionProperties differentVerticalDistanceConstructionProperties = CreateTestStabilityPointStructureConstructionProperties(); @@ -244,28 +328,49 @@ { FailureCollisionEnergy = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentFailureCollisionEnergyMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + FailureCollisionEnergy = + { CoefficientOfVariation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentFailureCollisionEnergy_{testResultDescription}"); + }).SetName($"{targetName}_DifferentFailureCollisionEnergyCoefficientOfVariation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { ShipMass = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentShipMassMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + ShipMass = + { CoefficientOfVariation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentShipMass_{testResultDescription}"); + }).SetName($"{targetName}_DifferentShipMassCoefficientOfVariation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { ShipVelocity = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentShipVelocityMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + ShipVelocity = + { CoefficientOfVariation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentShipVelocity_{testResultDescription}"); + }).SetName($"{targetName}_DifferentShipVelocityCoefficientOfVariation_{testResultDescription}"); StabilityPointStructure.ConstructionProperties differentLevellingCountConstructionProperties = CreateTestStabilityPointStructureConstructionProperties(); @@ -283,37 +388,65 @@ { FlowVelocityStructureClosable = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentFlowVelocityStructureClosableMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + FlowVelocityStructureClosable = + { CoefficientOfVariation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentFlowVelocityStructureClosable_{testResultDescription}"); + }).SetName($"{targetName}_DifferentFlowVelocityStructureClosableCoefficientOfVariation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { StabilityLinearLoadModel = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentStabilityLinearLoadModelMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + StabilityLinearLoadModel = + { CoefficientOfVariation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentStabilityLinearLoadModel_{testResultDescription}"); + }).SetName($"{targetName}_DifferentStabilityLinearLoadModelCoefficientOfVariation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { StabilityQuadraticLoadModel = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentStabilityQuadraticLoadModelMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + StabilityQuadraticLoadModel = + { CoefficientOfVariation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentStabilityQuadraticLoadModel_{testResultDescription}"); + }).SetName($"{targetName}_DifferentStabilityQuadraticLoadModelCoefficientOfVariation_{testResultDescription}"); yield return new TestCaseData(new TestStabilityPointStructure { AreaFlowApertures = { - Mean = random.NextRoundedDouble(), + Mean = random.NextRoundedDouble() + } + }).SetName($"{targetName}_DifferentAreaFlowAperturesMean_{testResultDescription}"); + + yield return new TestCaseData(new TestStabilityPointStructure + { + AreaFlowApertures = + { StandardDeviation = random.NextRoundedDouble() } - }).SetName($"{targetName}_DifferentAreaFlowApertures_{testResultDescription}"); + }).SetName($"{targetName}_DifferentAreaFlowAperturesStandardDeviation_{testResultDescription}"); StabilityPointStructure.ConstructionProperties differentInflowModelTypeConstructionProperties = CreateTestStabilityPointStructureConstructionProperties();