Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs =================================================================== diff -u -r0d869c1376aff08f20d4e7e8eabee65ec0c901d5 -r72a13271e0d5825a3292bfaab46d05051f7eeebf --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 0d869c1376aff08f20d4e7e8eabee65ec0c901d5) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 72a13271e0d5825a3292bfaab46d05051f7eeebf) @@ -49,6 +49,7 @@ using Riskeer.GrassCoverErosionOutwards.Data; using Riskeer.HeightStructures.Data; using Riskeer.Integration.Data; +using Riskeer.Integration.Data.FailurePath; using Riskeer.Integration.Data.StandAlone; using Riskeer.Integration.Data.StandAlone.SectionResults; using Riskeer.MacroStabilityInwards.Data; @@ -338,6 +339,10 @@ AssertFailureMechanismSectionResults( expectedAssessmentSection.StabilityPointStructures.SectionResults, actualAssessmentSection.StabilityPointStructures.SectionResults); + + AssertCollectionAndItems(expectedAssessmentSection.SpecificFailurePaths.Cast(), + actualAssessmentSection.SpecificFailurePaths.Cast(), + AssertSpecificFailurePath); } } @@ -736,6 +741,25 @@ } } + #region SpecificFailurePaths + + private static void AssertSpecificFailurePath(SpecificFailurePath expected, SpecificFailurePath actual) + { + Assert.AreEqual(expected.Input.N, actual.Input.N); + + Assert.AreEqual(expected.Name, actual.Name); + Assert.AreEqual(expected.IsRelevant, actual.IsRelevant); + + AssertComments(expected.InputComments, actual.InputComments); + AssertComments(expected.OutputComments, actual.OutputComments); + AssertComments(expected.NotRelevantComments, actual.NotRelevantComments); + + Assert.AreEqual(expected.FailureMechanismSectionSourcePath, actual.FailureMechanismSectionSourcePath); + AssertFailureMechanismSections(expected.Sections, actual.Sections); + } + + #endregion + #region StabilityPointStructures FailureMechanism private static void AssertStabilityPointStructuresFailureMechanism(StabilityPointStructuresFailureMechanism expectedFailureMechanism, Index: Riskeer/Storage/test/Riskeer.Storage.Core.TestUtil/RiskeerProjectTestHelper.cs =================================================================== diff -u -r36e41bb5c6a0d8c84e0970860630f310df570a16 -r72a13271e0d5825a3292bfaab46d05051f7eeebf --- Riskeer/Storage/test/Riskeer.Storage.Core.TestUtil/RiskeerProjectTestHelper.cs (.../RiskeerProjectTestHelper.cs) (revision 36e41bb5c6a0d8c84e0970860630f310df570a16) +++ Riskeer/Storage/test/Riskeer.Storage.Core.TestUtil/RiskeerProjectTestHelper.cs (.../RiskeerProjectTestHelper.cs) (revision 72a13271e0d5825a3292bfaab46d05051f7eeebf) @@ -47,6 +47,7 @@ using Riskeer.HeightStructures.Data; using Riskeer.HeightStructures.Data.TestUtil; using Riskeer.Integration.Data; +using Riskeer.Integration.Data.FailurePath; using Riskeer.Integration.Data.StandAlone; using Riskeer.Integration.Data.StandAlone.SectionResults; using Riskeer.MacroStabilityInwards.Data; @@ -208,6 +209,11 @@ SetSections(assessmentSection.TechnicalInnovation); SetSectionResults(assessmentSection.TechnicalInnovation.SectionResults); + IEnumerable failurePaths = Enumerable.Repeat(new SpecificFailurePath(), random.Next(1, 10)) + .ToArray(); + SetSpecificFailurePaths(failurePaths); + assessmentSection.SpecificFailurePaths.AddRange(failurePaths); + var fullTestProject = new RiskeerProject { Name = "tempProjectFile", @@ -2328,5 +2334,27 @@ } #endregion + + #region Specific FailurePath + + private static void SetSpecificFailurePaths(IEnumerable specificFailurePaths) + { + var i = 0; + foreach (SpecificFailurePath failurePath in specificFailurePaths) + { + var random = new Random(i); + failurePath.Input.N = random.NextRoundedDouble(1, 20); + + failurePath.Name = $"Path {i}"; + failurePath.IsRelevant = random.NextBoolean(); + failurePath.InputComments.Body = $"Input comment path: {i}"; + failurePath.OutputComments.Body = $"Output comment path: {i}"; + failurePath.NotRelevantComments.Body = $"NotRelevant comment path: {i}"; + + i++; + } + } + + #endregion } } \ No newline at end of file