Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/Merge/AssessmentSectionMergeHandlerTest.cs =================================================================== diff -u -r5d35847424102416f9a4b8adf7fc73e6d2d343ab -rcce128d4d15e4e98de1bf30420455037b8fe2e1d --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/Merge/AssessmentSectionMergeHandlerTest.cs (.../AssessmentSectionMergeHandlerTest.cs) (revision 5d35847424102416f9a4b8adf7fc73e6d2d343ab) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/Merge/AssessmentSectionMergeHandlerTest.cs (.../AssessmentSectionMergeHandlerTest.cs) (revision cce128d4d15e4e98de1bf30420455037b8fe2e1d) @@ -1231,24 +1231,21 @@ IEnumerable sourceCalculations = GetDuneLocationCalculations(sourceAssessmentSection); SetOutput(targetCalculations); - sourceCalculations.ForEachElementDo(c => c.InputParameters.ShouldIllustrationPointsBeCalculated = true); var handler = new AssessmentSectionMergeHandler(documentViewController); // Precondition - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(sourceCalculations.All(c => !c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => !c.InputParameters.ShouldIllustrationPointsBeCalculated)); + Assert.IsTrue(targetCalculations.All(c => c.Output != null)); + Assert.IsTrue(sourceCalculations.All(c => c.Output == null)); // When handler.PerformMerge(targetAssessmentSection, new AssessmentSectionMergeData(sourceAssessmentSection, CreateDefaultConstructionProperties()), hydraulicBoundaryDataUpdateHandler); // Then - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(sourceCalculations.All(c => !c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => !c.InputParameters.ShouldIllustrationPointsBeCalculated)); + Assert.IsTrue(targetCalculations.All(c => c.Output != null)); + Assert.IsTrue(sourceCalculations.All(c => c.Output == null)); mocks.VerifyAll(); } @@ -1275,28 +1272,21 @@ SetOutput(targetCalculations); SetOutput(sourceCalculations); - sourceCalculations.ForEachElementDo(c => c.InputParameters.ShouldIllustrationPointsBeCalculated = true); var handler = new AssessmentSectionMergeHandler(documentViewController); // Precondition - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(sourceCalculations.All(c => c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => !c.Output.HasGeneralResult)); - Assert.IsTrue(sourceCalculations.All(c => !c.Output.HasGeneralResult)); - Assert.IsTrue(targetCalculations.All(c => !c.InputParameters.ShouldIllustrationPointsBeCalculated)); + Assert.IsTrue(targetCalculations.All(c => c.Output != null)); + Assert.IsTrue(sourceCalculations.All(c => c.Output != null)); // When handler.PerformMerge(targetAssessmentSection, new AssessmentSectionMergeData(sourceAssessmentSection, CreateDefaultConstructionProperties()), hydraulicBoundaryDataUpdateHandler); // Then - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(sourceCalculations.All(c => c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => !c.Output.HasGeneralResult)); - Assert.IsTrue(sourceCalculations.All(c => !c.Output.HasGeneralResult)); - Assert.IsTrue(targetCalculations.All(c => !c.InputParameters.ShouldIllustrationPointsBeCalculated)); + Assert.IsTrue(targetCalculations.All(c => c.Output != null)); + Assert.IsTrue(sourceCalculations.All(c => c.Output != null)); mocks.VerifyAll(); } @@ -1322,164 +1312,24 @@ IEnumerable sourceCalculations = GetDuneLocationCalculations(sourceAssessmentSection); SetOutput(sourceCalculations); - sourceCalculations.ForEachElementDo(c => c.InputParameters.ShouldIllustrationPointsBeCalculated = true); var handler = new AssessmentSectionMergeHandler(documentViewController); // Precondition - Assert.IsTrue(targetCalculations.All(c => !c.HasOutput)); - Assert.IsTrue(sourceCalculations.All(c => c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => !c.InputParameters.ShouldIllustrationPointsBeCalculated)); - Assert.IsTrue(sourceCalculations.All(c => c.InputParameters.ShouldIllustrationPointsBeCalculated)); + Assert.IsTrue(targetCalculations.All(c => c.Output == null)); + Assert.IsTrue(sourceCalculations.All(c => c.Output != null)); // When handler.PerformMerge(targetAssessmentSection, new AssessmentSectionMergeData(sourceAssessmentSection, CreateDefaultConstructionProperties()), hydraulicBoundaryDataUpdateHandler); // Then - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => c.InputParameters.ShouldIllustrationPointsBeCalculated)); + Assert.IsTrue(targetCalculations.All(c => c.Output != null)); mocks.VerifyAll(); } [Test] - public void GivenAssessmentSectionWithDuneLocationCalculations_WhenTargetAssessmentSectionHasOutputWithIllustrationPoints_ThenCalculationsNotChanged() - { - // Given - var mocks = new MockRepository(); - var documentViewController = mocks.Stub(); - var hydraulicBoundaryDataUpdateHandler = mocks.Stub(); - mocks.ReplayAll(); - - HydraulicBoundaryLocation[] locations = - { - new TestHydraulicBoundaryLocation(), - new TestHydraulicBoundaryLocation() - }; - - AssessmentSection targetAssessmentSection = CreateAssessmentSection(locations); - AssessmentSection sourceAssessmentSection = CreateAssessmentSection(locations); - - IEnumerable targetCalculations = GetDuneLocationCalculations(targetAssessmentSection); - IEnumerable sourceCalculations = GetDuneLocationCalculations(sourceAssessmentSection); - - SetOutput(targetCalculations, true); - SetOutput(sourceCalculations); - - var handler = new AssessmentSectionMergeHandler(documentViewController); - - // Precondition - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => c.Output.HasGeneralResult)); - Assert.IsTrue(sourceCalculations.All(c => c.HasOutput)); - Assert.IsTrue(sourceCalculations.All(c => !c.Output.HasGeneralResult)); - - // When - handler.PerformMerge(targetAssessmentSection, - new AssessmentSectionMergeData(sourceAssessmentSection, CreateDefaultConstructionProperties()), - hydraulicBoundaryDataUpdateHandler); - - // Then - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => c.Output.HasGeneralResult)); - Assert.IsTrue(sourceCalculations.All(c => c.HasOutput)); - Assert.IsTrue(sourceCalculations.All(c => !c.Output.HasGeneralResult)); - mocks.VerifyAll(); - } - - [Test] - public void GivenAssessmentSectionWithDuneLocationCalculations_WhenSourceAssessmentSectionHasOutputWithIllustrationPoints_ThenCalculationsMerged() - { - // Given - var mocks = new MockRepository(); - var documentViewController = mocks.Stub(); - var hydraulicBoundaryDataUpdateHandler = mocks.Stub(); - mocks.ReplayAll(); - - HydraulicBoundaryLocation[] locations = - { - new TestHydraulicBoundaryLocation(), - new TestHydraulicBoundaryLocation() - }; - - AssessmentSection targetAssessmentSection = CreateAssessmentSection(locations); - AssessmentSection sourceAssessmentSection = CreateAssessmentSection(locations); - - IEnumerable targetCalculations = GetDuneLocationCalculations(targetAssessmentSection); - IEnumerable sourceCalculations = GetDuneLocationCalculations(sourceAssessmentSection); - - SetOutput(targetCalculations); - SetOutput(sourceCalculations, true); - - var handler = new AssessmentSectionMergeHandler(documentViewController); - - // Precondition - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => !c.Output.HasGeneralResult)); - Assert.IsTrue(sourceCalculations.All(c => c.HasOutput)); - Assert.IsTrue(sourceCalculations.All(c => c.Output.HasGeneralResult)); - - // When - handler.PerformMerge(targetAssessmentSection, - new AssessmentSectionMergeData(sourceAssessmentSection, CreateDefaultConstructionProperties()), - hydraulicBoundaryDataUpdateHandler); - - // Then - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => c.Output.HasGeneralResult)); - mocks.VerifyAll(); - } - - [Test] - public void GivenAssessmentSectionWithDuneLocationCalculations_WhenBothAssessmentSectionsHaveOutputAndIllustrationPoints_ThenCalculationsNotChanged() - { - // Given - var mocks = new MockRepository(); - var documentViewController = mocks.Stub(); - var hydraulicBoundaryDataUpdateHandler = mocks.Stub(); - mocks.ReplayAll(); - - HydraulicBoundaryLocation[] locations = - { - new TestHydraulicBoundaryLocation(), - new TestHydraulicBoundaryLocation() - }; - - AssessmentSection targetAssessmentSection = CreateAssessmentSection(locations); - AssessmentSection sourceAssessmentSection = CreateAssessmentSection(locations); - - IEnumerable targetCalculations = GetDuneLocationCalculations(targetAssessmentSection); - IEnumerable sourceCalculations = GetDuneLocationCalculations(sourceAssessmentSection); - - SetOutput(targetCalculations, true); - SetOutput(sourceCalculations, true); - sourceCalculations.ForEachElementDo(c => c.InputParameters.ShouldIllustrationPointsBeCalculated = true); - - var handler = new AssessmentSectionMergeHandler(documentViewController); - - // Precondition - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(sourceCalculations.All(c => c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => c.Output.HasGeneralResult)); - Assert.IsTrue(sourceCalculations.All(c => c.Output.HasGeneralResult)); - Assert.IsTrue(targetCalculations.All(c => !c.InputParameters.ShouldIllustrationPointsBeCalculated)); - - // When - handler.PerformMerge(targetAssessmentSection, - new AssessmentSectionMergeData(sourceAssessmentSection, CreateDefaultConstructionProperties()), - hydraulicBoundaryDataUpdateHandler); - - // Then - Assert.IsTrue(targetCalculations.All(c => c.HasOutput)); - Assert.IsTrue(sourceCalculations.All(c => c.HasOutput)); - Assert.IsTrue(targetCalculations.All(c => c.Output.HasGeneralResult)); - Assert.IsTrue(sourceCalculations.All(c => c.Output.HasGeneralResult)); - Assert.IsTrue(targetCalculations.All(c => !c.InputParameters.ShouldIllustrationPointsBeCalculated)); - mocks.VerifyAll(); - } - - [Test] public void PerformMerge_DuneLocationCalculationsMerged_ObserversNotifiedAndMessageLogged() { // Setup @@ -1505,7 +1355,7 @@ targetCalculations.ForEachElementDo(calculation => calculation.Attach(observer)); SetOutput(targetCalculations); - SetOutput(sourceCalculations, true); + SetOutput(sourceCalculations); var handler = new AssessmentSectionMergeHandler(documentViewController);