Index: Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure21.2.sql =================================================================== diff -u -r624520909fe0c8dbcb2a487b65066fb9e3c00bc0 -r5fab5350b1876a626d5fae3c2a942f19038a8564 --- Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure21.2.sql (.../DatabaseStructure21.2.sql) (revision 624520909fe0c8dbcb2a487b65066fb9e3c00bc0) +++ Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/DatabaseStructure21.2.sql (.../DatabaseStructure21.2.sql) (revision 5fab5350b1876a626d5fae3c2a942f19038a8564) @@ -1,6 +1,6 @@ /* ---------------------------------------------------- */ /* Generated by Enterprise Architect Version 14.1 */ -/* Created On : 16-dec-2021 13:06:29 */ +/* Created On : 05-jan-2022 12:58:50 */ /* DBMS : SQLite */ /* ---------------------------------------------------- */ @@ -1512,12 +1512,14 @@ ( 'MacroStabilityInwardsSectionResultEntityId' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 'FailureMechanismSectionEntityId' INTEGER NOT NULL, - 'SimpleAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = NotApplicable, 3 = ProbabilityNegligible, 4 = AssessFurther - 'DetailedAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = Probability, 2 = NotAssessed - 'TailorMadeAssessmentResult' TINYINT (1) NOT NULL, -- Enum: 1 = None, 2 = ProbabilityNegligible, 3 = Probability, 4 = NotAssessed - 'TailorMadeAssessmentProbability' REAL NULL, - 'UseManualAssembly' TINYINT (1) NOT NULL, -- true or false - 'ManualAssemblyProbability' REAL NULL, + 'IsRelevant' TINYINT (1) NOT NULL, -- true or false + 'InitialFailureMechanismResultType' TINYINT (1) NOT NULL, -- Enum: Adopt = 1 Manual = 2 NoFailureProbability = 3 + 'ManualInitialFailureMechanismResultSectionProbability' REAL NULL, + 'ManualInitialFailureMechanismResultProfileProbability' REAL NULL, + 'FurtherAnalysisNeeded' TINYINT (1) NOT NULL, -- true or false + 'ProbabilityRefinementType' TINYINT (1) NOT NULL, -- Enum: Profile = 1 Section = 2 Both = 3 + 'RefinedSectionProbability' REAL NULL, + 'RefinedProfileProbability' REAL NULL, CONSTRAINT 'FK_MacroStabilityInwardsSectionResultEntity_FailureMechanismSectionEntity' FOREIGN KEY ('FailureMechanismSectionEntityId') REFERENCES 'FailureMechanismSectionEntity' ('FailureMechanismSectionEntityId') ON DELETE Cascade ON UPDATE Cascade ) ; Index: Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_21.1_21.2.sql =================================================================== diff -u -r624520909fe0c8dbcb2a487b65066fb9e3c00bc0 -r5fab5350b1876a626d5fae3c2a942f19038a8564 --- Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_21.1_21.2.sql (.../Migration_21.1_21.2.sql) (revision 624520909fe0c8dbcb2a487b65066fb9e3c00bc0) +++ Riskeer/Migration/src/Riskeer.Migration.Core/EmbeddedResources/Migration_21.1_21.2.sql (.../Migration_21.1_21.2.sql) (revision 5fab5350b1876a626d5fae3c2a942f19038a8564) @@ -265,7 +265,30 @@ INSERT INTO MacroStabilityInwardsCharacteristicPointEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsCharacteristicPointEntity; INSERT INTO MacroStabilityInwardsFailureMechanismMetaEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsFailureMechanismMetaEntity; INSERT INTO MacroStabilityInwardsPreconsolidationStressEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsPreconsolidationStressEntity; -INSERT INTO MacroStabilityInwardsSectionResultEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSectionResultEntity; +INSERT INTO MacroStabilityInwardsSectionResultEntity ( +[MacroStabilityInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + [IsRelevant], + [InitialFailureMechanismResultType], + [ManualInitialFailureMechanismResultSectionProbability], + [ManualInitialFailureMechanismResultProfileProbability], + [FurtherAnalysisNeeded], + [ProbabilityRefinementType], + [RefinedSectionProbability], + [RefinedProfileProbability] +) +SELECT + [MacroStabilityInwardsSectionResultEntityId], + [FailureMechanismSectionEntityId], + 1, + 1, + NULL, + NULL, + 0, + 2, + NULL, + NULL +FROM [SOURCEPROJECT].MacroStabilityInwardsSectionResultEntity; INSERT INTO MacroStabilityInwardsSoilLayerOneDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilLayerOneDEntity; INSERT INTO MacroStabilityInwardsSoilLayerTwoDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilLayerTwoDEntity; INSERT INTO MacroStabilityInwardsSoilProfileOneDEntity SELECT * FROM [SOURCEPROJECT].MacroStabilityInwardsSoilProfileOneDEntity; Index: Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationTo212IntegrationTest.cs =================================================================== diff -u -r624520909fe0c8dbcb2a487b65066fb9e3c00bc0 -r5fab5350b1876a626d5fae3c2a942f19038a8564 --- Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationTo212IntegrationTest.cs (.../MigrationTo212IntegrationTest.cs) (revision 624520909fe0c8dbcb2a487b65066fb9e3c00bc0) +++ Riskeer/Migration/test/Riskeer.Migration.Integration.Test/MigrationTo212IntegrationTest.cs (.../MigrationTo212IntegrationTest.cs) (revision 5fab5350b1876a626d5fae3c2a942f19038a8564) @@ -69,7 +69,7 @@ AssertPipingFailureMechanism(reader, sourceFilePath); AssertPipingScenarioConfigurationPerFailureMechanismSection(reader, sourceFilePath); - AssertPipingFailureMechanismSectionResults(reader, sourceFilePath); + AssertFailureMechanismSectionResults(reader, sourceFilePath); AssertGrassCoverErosionInwardsFailureMechanismMetaEntity(reader, sourceFilePath); AssertGrassCoverErosionInwardsCalculation(reader, sourceFilePath); @@ -666,17 +666,17 @@ reader.AssertReturnedDataIsValid(validatePipingScenarioConfigurationPerFailureMechanismSectionEntity); } - private static void AssertPipingFailureMechanismSectionResults(MigratedDatabaseReader reader, string sourceFilePath) + private static void AssertFailureMechanismSectionResults(MigratedDatabaseReader reader, string sourceFilePath) { string validateFailureMechamismSectionResults = $"ATTACH DATABASE \"{sourceFilePath}\" AS SOURCEPROJECT; " + "SELECT COUNT() = " + "(" + "SELECT COUNT() " + - "FROM SOURCEPROJECT.PipingSectionResultEntity " + + "FROM SOURCEPROJECT.{0} " + ") " + - "FROM PipingSectionResultEntity NEW " + - "JOIN SOURCEPROJECT.PipingSectionResultEntity OLD USING(PipingSectionResultEntityId) " + + "FROM {0} NEW " + + "JOIN SOURCEPROJECT.{0} OLD USING({1}) " + "WHERE NEW.[FailureMechanismSectionEntityId] = OLD.[FailureMechanismSectionEntityId] " + "AND NEW.[IsRelevant] = 1 " + "AND NEW.[InitialFailureMechanismResultType] = 1 " + @@ -688,7 +688,8 @@ "AND NEW.[RefinedProfileProbability] IS NULL; " + "DETACH SOURCEPROJECT;"; - reader.AssertReturnedDataIsValid(validateFailureMechamismSectionResults); + reader.AssertReturnedDataIsValid(string.Format(validateFailureMechamismSectionResults, "PipingSectionResultEntity", "PipingSectionResultEntityId")); + reader.AssertReturnedDataIsValid(string.Format(validateFailureMechamismSectionResults, "MacroStabilityInwardsSectionResultEntity", "MacroStabilityInwardsSectionResultEntityId")); } #endregion Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs =================================================================== diff -u -rc1abb917d71d2f88c24ecdaa5a74d7ccbdd392f4 -r5fab5350b1876a626d5fae3c2a942f19038a8564 --- Riskeer/Storage/test/Riskeer.Storage.Core.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision c1abb917d71d2f88c24ecdaa5a74d7ccbdd392f4) +++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 5fab5350b1876a626d5fae3c2a942f19038a8564) @@ -284,8 +284,8 @@ expectedAssessmentSection.MacroStabilityOutwards.SectionResultsOld, actualAssessmentSection.MacroStabilityOutwards.SectionResultsOld); AssertFailureMechanismSectionResults( - expectedAssessmentSection.MacroStabilityInwards.SectionResultsOld, - actualAssessmentSection.MacroStabilityInwards.SectionResultsOld); + expectedAssessmentSection.MacroStabilityInwards.SectionResults, + actualAssessmentSection.MacroStabilityInwards.SectionResults); AssertFailureMechanismSectionResults( expectedAssessmentSection.WaveImpactAsphaltCover.SectionResultsOld, actualAssessmentSection.WaveImpactAsphaltCover.SectionResultsOld); @@ -1229,6 +1229,25 @@ Assert.AreEqual(expectedItem.RefinedSectionProbability, actualItem.RefinedSectionProbability); }); } + + private static void AssertFailureMechanismSectionResults( + IEnumerable expectedSectionResults, + IEnumerable actualSectionResults) + { + AssertCollectionAndItems(expectedSectionResults, + actualSectionResults, + (expectedItem, actualItem) => + { + Assert.AreEqual(expectedItem.IsRelevant, actualItem.IsRelevant); + Assert.AreEqual(expectedItem.ProbabilityRefinementType, actualItem.ProbabilityRefinementType); + Assert.AreEqual(expectedItem.ManualInitialFailureMechanismResultProfileProbability, actualItem.ManualInitialFailureMechanismResultProfileProbability); + Assert.AreEqual(expectedItem.ManualInitialFailureMechanismResultSectionProbability, actualItem.ManualInitialFailureMechanismResultSectionProbability); + Assert.AreEqual(expectedItem.FurtherAnalysisNeeded, actualItem.FurtherAnalysisNeeded); + Assert.AreEqual(expectedItem.ProbabilityRefinementType, actualItem.ProbabilityRefinementType); + Assert.AreEqual(expectedItem.RefinedProfileProbability, actualItem.RefinedProfileProbability); + Assert.AreEqual(expectedItem.RefinedSectionProbability, actualItem.RefinedSectionProbability); + }); + } private static void AssertPipingProbabilityAssessmentInput(PipingProbabilityAssessmentInput expectedModel, PipingProbabilityAssessmentInput actualModel) Index: Riskeer/Storage/test/Riskeer.Storage.Core.TestUtil/RiskeerProjectTestHelper.cs =================================================================== diff -u -rc1abb917d71d2f88c24ecdaa5a74d7ccbdd392f4 -r5fab5350b1876a626d5fae3c2a942f19038a8564 --- Riskeer/Storage/test/Riskeer.Storage.Core.TestUtil/RiskeerProjectTestHelper.cs (.../RiskeerProjectTestHelper.cs) (revision c1abb917d71d2f88c24ecdaa5a74d7ccbdd392f4) +++ Riskeer/Storage/test/Riskeer.Storage.Core.TestUtil/RiskeerProjectTestHelper.cs (.../RiskeerProjectTestHelper.cs) (revision 5fab5350b1876a626d5fae3c2a942f19038a8564) @@ -133,7 +133,7 @@ MacroStabilityInwardsFailureMechanism macroStabilityInwardsFailureMechanism = assessmentSection.MacroStabilityInwards; ConfigureMacroStabilityInwardsFailureMechanism(macroStabilityInwardsFailureMechanism, assessmentSection); SetSections(macroStabilityInwardsFailureMechanism); - SetSectionResults(macroStabilityInwardsFailureMechanism.SectionResultsOld); + SetSectionResults(macroStabilityInwardsFailureMechanism.SectionResults); PipingFailureMechanism pipingFailureMechanism = assessmentSection.Piping; ConfigurePipingFailureMechanism(pipingFailureMechanism, assessmentSection); @@ -1791,17 +1791,19 @@ }); } - private static void SetSectionResults(IEnumerable sectionResults) + private static void SetSectionResults(IEnumerable sectionResults) { var random = new Random(21); - foreach (MacroStabilityInwardsFailureMechanismSectionResultOld sectionResult in sectionResults) + foreach (MacroStabilityInwardsFailureMechanismSectionResult sectionResult in sectionResults) { - sectionResult.SimpleAssessmentResult = random.NextEnumValue(); - sectionResult.DetailedAssessmentResult = random.NextEnumValue(); - sectionResult.TailorMadeAssessmentResult = random.NextEnumValue(); - sectionResult.TailorMadeAssessmentProbability = random.NextDouble(); - sectionResult.UseManualAssembly = random.NextBoolean(); - sectionResult.ManualAssemblyProbability = random.NextDouble(); + sectionResult.IsRelevant = random.NextBoolean(); + sectionResult.InitialFailureMechanismResult = random.NextEnumValue(); + sectionResult.ManualInitialFailureMechanismResultProfileProbability = random.NextDouble(); + sectionResult.ManualInitialFailureMechanismResultSectionProbability = random.NextDouble(); + sectionResult.FurtherAnalysisNeeded = random.NextBoolean(); + sectionResult.ProbabilityRefinementType = random.NextEnumValue(); + sectionResult.RefinedProfileProbability = random.NextDouble(); + sectionResult.RefinedSectionProbability = random.NextDouble(); } }