Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/HydraulicBoundaryDatabaseUpdateHandlerTest.cs =================================================================== diff -u -r888f36137652f1d7bef55426200146c9df7d0bdf -ra9d3784e7668cd8d6f3a1948b5c461c5f1510d0f --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/HydraulicBoundaryDatabaseUpdateHandlerTest.cs (.../HydraulicBoundaryDatabaseUpdateHandlerTest.cs) (revision 888f36137652f1d7bef55426200146c9df7d0bdf) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/HydraulicBoundaryDatabaseUpdateHandlerTest.cs (.../HydraulicBoundaryDatabaseUpdateHandlerTest.cs) (revision a9d3784e7668cd8d6f3a1948b5c461c5f1510d0f) @@ -20,11 +20,9 @@ // All rights reserved. using System; -using System.Collections; using System.Collections.Generic; using System.Linq; using Core.Common.Base; -using Core.Common.Base.Geometry; using Core.Common.Gui.Commands; using NUnit.Extensions.Forms; using NUnit.Framework; @@ -33,7 +31,6 @@ using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.TestUtil; -using Ringtoets.DuneErosion.Data; using Ringtoets.DuneErosion.Data.TestUtil; using Ringtoets.DuneErosion.Plugin.Handlers; using Ringtoets.GrassCoverErosionOutwards.Data; @@ -335,7 +332,7 @@ // Setup var mocks = new MockRepository(); var viewCommands = mocks.Stub(); - var duneLocationsReplacementHandler = mocks.Stub(); + var duneLocationsReplacementHandler = mocks.StrictMock(); mocks.ReplayAll(); const string filePath = "some/file/path"; @@ -378,7 +375,7 @@ // Setup var mocks = new MockRepository(); var viewCommands = mocks.Stub(); - var duneLocationsReplacementHandler = mocks.Stub(); + var duneLocationsReplacementHandler = mocks.StrictMock(); mocks.ReplayAll(); const string filePath = "some/file/path"; @@ -419,13 +416,7 @@ public void Update_DatabaseLinkedAndVersionNotSame_RemovesOldLocationsAndCalculations() { // Setup - var mocks = new MockRepository(); - var viewCommands = mocks.Stub(); - var duneLocationsReplacementHandler = mocks.Stub(); - mocks.ReplayAll(); - const string filePath = "some/file/path"; - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase { FilePath = filePath, @@ -437,6 +428,18 @@ new TestHydraulicBoundaryLocation("old location 3") } }; + + var mocks = new MockRepository(); + var viewCommands = mocks.Stub(); + var duneLocationsReplacementHandler = mocks.StrictMock(); + duneLocationsReplacementHandler.Expect(h => h.Replace(Arg>.Is.NotNull)) + .WhenCalled(invocation => + { + CollectionAssert.AreEqual(hydraulicBoundaryDatabase.Locations, (IEnumerable) invocation.Arguments[0]); + }); + mocks.ReplayAll(); + + var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); assessmentSection.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryDatabase.Locations); assessmentSection.GrassCoverErosionOutwards.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryDatabase.Locations); @@ -455,15 +458,13 @@ Assert.IsTrue(hydraulicBoundaryDatabase.IsLinked()); CollectionAssert.AreEqual(oldLocations, hydraulicBoundaryDatabase.Locations); AssertHydraulicBoundaryLocationsAndCalculations(oldLocations, assessmentSection); - AssertDuneLocationsAndCalculations(duneLocations, assessmentSection.DuneErosion); // Call handler.Update(hydraulicBoundaryDatabase, ReadHydraulicBoundaryDatabaseTestFactory.Create(), ReadHydraulicLocationConfigurationDatabaseTestFactory.Create(), filePath); // Assert GrassCoverErosionOutwardsFailureMechanism grassCoverErosionOutwardsFailureMechanism = assessmentSection.GrassCoverErosionOutwards; - DuneErosionFailureMechanism duneErosionFailureMechanism = assessmentSection.DuneErosion; CollectionAssert.IsNotSubsetOf(oldLocations, hydraulicBoundaryDatabase.Locations); CollectionAssert.IsNotSubsetOf(oldLocations, assessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation)); CollectionAssert.IsNotSubsetOf(oldLocations, assessmentSection.WaterLevelCalculationsForSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation)); @@ -479,26 +480,26 @@ CollectionAssert.IsNotSubsetOf(oldLocations, grassCoverErosionOutwardsFailureMechanism.WaveHeightCalculationsForMechanismSpecificFactorizedSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation)); CollectionAssert.IsNotSubsetOf(oldLocations, grassCoverErosionOutwardsFailureMechanism.WaveHeightCalculationsForMechanismSpecificSignalingNorm.Select(hblc => hblc.HydraulicBoundaryLocation)); CollectionAssert.IsNotSubsetOf(oldLocations, grassCoverErosionOutwardsFailureMechanism.WaveHeightCalculationsForMechanismSpecificLowerLimitNorm.Select(hblc => hblc.HydraulicBoundaryLocation)); - CollectionAssert.IsNotSubsetOf(duneLocations, duneErosionFailureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.Select(c => c.DuneLocation)); - CollectionAssert.IsNotSubsetOf(duneLocations, duneErosionFailureMechanism.CalculationsForMechanismSpecificSignalingNorm.Select(c => c.DuneLocation)); - CollectionAssert.IsNotSubsetOf(duneLocations, duneErosionFailureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.Select(c => c.DuneLocation)); - CollectionAssert.IsNotSubsetOf(duneLocations, duneErosionFailureMechanism.CalculationsForLowerLimitNorm.Select(c => c.DuneLocation)); - CollectionAssert.IsNotSubsetOf(duneLocations, duneErosionFailureMechanism.CalculationsForFactorizedLowerLimitNorm.Select(c => c.DuneLocation)); - mocks.VerifyAll(); } [Test] public void Update_DatabaseNotLinked_SetsAllData() { // Setup + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + var mocks = new MockRepository(); var viewCommands = mocks.Stub(); - var duneLocationsReplacementHandler = mocks.Stub(); + var duneLocationsReplacementHandler = mocks.StrictMock(); + duneLocationsReplacementHandler.Expect(h => h.Replace(Arg>.Is.NotNull)) + .WhenCalled(invocation => + { + CollectionAssert.AreEqual(hydraulicBoundaryDatabase.Locations, (IEnumerable) invocation.Arguments[0]); + }); mocks.ReplayAll(); const string filePath = "some/file/path"; var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); var handler = new HydraulicBoundaryDatabaseUpdateHandler(assessmentSection, viewCommands, duneLocationsReplacementHandler); // Precondition @@ -584,45 +585,6 @@ } [Test] - public void GivenDatabase_WhenNewLocationsIsDune_SetsData() - { - // Setup - var mocks = new MockRepository(); - var viewCommands = mocks.Stub(); - var duneLocationsReplacementHandler = mocks.Stub(); - mocks.ReplayAll(); - - const string filePath = "some/file/path"; - var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); - var handler = new HydraulicBoundaryDatabaseUpdateHandler(assessmentSection, viewCommands, duneLocationsReplacementHandler); - - var newLocation = new ReadHydraulicBoundaryLocation(1, "test_1_100", 205354, 609735); - ReadHydraulicBoundaryDatabase readHydraulicBoundaryDatabase = ReadHydraulicBoundaryDatabaseTestFactory.Create(new [] - { - newLocation - }); - - // Call - handler.Update(hydraulicBoundaryDatabase, readHydraulicBoundaryDatabase, - ReadHydraulicLocationConfigurationDatabaseTestFactory.Create(), filePath); - - // Assert - DuneErosionFailureMechanism duneErosionFailureMechanism = assessmentSection.DuneErosion; - Assert.AreEqual(1, duneErosionFailureMechanism.DuneLocations.Count()); - - DuneLocation duneLocation = duneErosionFailureMechanism.DuneLocations.Single(); - Assert.AreEqual(newLocation.Id, duneLocation.Id); - Assert.AreEqual(new Point2D(newLocation.CoordinateX, newLocation.CoordinateY), duneLocation.Location); - AssertDuneLocationsAndCalculations(new[] - { - duneLocation - }, duneErosionFailureMechanism); - - mocks.VerifyAll(); - } - - [Test] public void GivenCalculationsWithLocation_WhenUpdatingDatabaseWithNewLocations_ThenCalculationOutputClearedAndChangedObjectsReturned() { // Given @@ -651,16 +613,6 @@ mocks.VerifyAll(); } - private static void AssertDuneLocationsAndCalculations(IEnumerable locations, DuneErosionFailureMechanism failureMechanism) - { - Assert.AreEqual(locations, failureMechanism.DuneLocations); - CollectionAssert.AreEqual(locations, failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.Select(c => c.DuneLocation)); - CollectionAssert.AreEqual(locations, failureMechanism.CalculationsForMechanismSpecificSignalingNorm.Select(c => c.DuneLocation)); - CollectionAssert.AreEqual(locations, failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.Select(c => c.DuneLocation)); - CollectionAssert.AreEqual(locations, failureMechanism.CalculationsForLowerLimitNorm.Select(c => c.DuneLocation)); - CollectionAssert.AreEqual(locations, failureMechanism.CalculationsForFactorizedLowerLimitNorm.Select(c => c.DuneLocation)); - } - private static void AssertHydraulicBoundaryLocationsAndCalculations(IEnumerable locations, AssessmentSection assessmentSection) { GrassCoverErosionOutwardsFailureMechanism grassCoverErosionOutwardsFailureMechanism = assessmentSection.GrassCoverErosionOutwards;