Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/Handlers/DuneLocationsReplacementHandlerTest.cs =================================================================== diff -u -rc36d1359e5853619d9fcb8a57d3b5ee2e3d9f1d9 -r9643d5057d2d3ad82a43b9fd66343e278a866ea2 --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/Handlers/DuneLocationsReplacementHandlerTest.cs (.../DuneLocationsReplacementHandlerTest.cs) (revision c36d1359e5853619d9fcb8a57d3b5ee2e3d9f1d9) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Plugin.Test/Handlers/DuneLocationsReplacementHandlerTest.cs (.../DuneLocationsReplacementHandlerTest.cs) (revision 9643d5057d2d3ad82a43b9fd66343e278a866ea2) @@ -88,25 +88,31 @@ } [Test] - public void Replace_FailureMechanismHasDuneLocations_LocationsCleared() + public void Replace_FailureMechanismHasDuneLocations_LocationsAndCalculationsCleared() { // Setup var mocks = new MockRepository(); var viewCommands = mocks.Stub(); mocks.ReplayAll(); - var failureMechanism = new DuneErosionFailureMechanism + var duneLocations = new[] { - DuneLocations = - { - new TestDuneLocation(), - new TestDuneLocation() - } + new TestDuneLocation(), + new TestDuneLocation() }; + var failureMechanism = new DuneErosionFailureMechanism(); + failureMechanism.DuneLocations.AddRange(duneLocations); + failureMechanism.SetDuneLocationCalculations(duneLocations); + var handler = new DuneLocationsReplacementHandler(viewCommands, failureMechanism); // Precondition Assert.AreEqual(2, failureMechanism.DuneLocations.Count); + Assert.AreEqual(2, failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.Count()); + Assert.AreEqual(2, failureMechanism.CalculationsForMechanismSpecificSignalingNorm.Count()); + Assert.AreEqual(2, failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.Count()); + Assert.AreEqual(2, failureMechanism.CalculationsForLowerLimitNorm.Count()); + Assert.AreEqual(2, failureMechanism.CalculationsForFactorizedLowerLimitNorm.Count()); // Call handler.Replace(new HydraulicBoundaryLocation[] @@ -116,11 +122,16 @@ // Assert CollectionAssert.IsEmpty(failureMechanism.DuneLocations); + CollectionAssert.IsEmpty(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm); + CollectionAssert.IsEmpty(failureMechanism.CalculationsForMechanismSpecificSignalingNorm); + CollectionAssert.IsEmpty(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm); + CollectionAssert.IsEmpty(failureMechanism.CalculationsForLowerLimitNorm); + CollectionAssert.IsEmpty(failureMechanism.CalculationsForFactorizedLowerLimitNorm); mocks.VerifyAll(); } [Test] - public void Replace_NewLocationsIsDune_LocationAdded() + public void Replace_NewLocationsIsDune_LocationAndCalculationsAdded() { // Setup var mocks = new MockRepository(); @@ -148,10 +159,11 @@ // Assert Assert.AreEqual(1, failureMechanism.DuneLocations.Count); - DuneLocation duneLocation = failureMechanism.DuneLocations.First(); + DuneLocation duneLocation = failureMechanism.DuneLocations.First(); Assert.AreEqual(1, duneLocation.Id); Assert.AreEqual(new Point2D(205354, 609735), duneLocation.Location); + AssertDuneLocationCalculations(duneLocation, failureMechanism); mocks.VerifyAll(); } @@ -223,5 +235,20 @@ // Assert mocks.VerifyAll(); // Expect no calls in 'viewCommands' } + + private static void AssertDuneLocationCalculations(DuneLocation expectedDuneLocation, DuneErosionFailureMechanism failureMechanism) + { + AssertDefaultDuneLocationCalculation(expectedDuneLocation, failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.Single()); + AssertDefaultDuneLocationCalculation(expectedDuneLocation, failureMechanism.CalculationsForMechanismSpecificSignalingNorm.Single()); + AssertDefaultDuneLocationCalculation(expectedDuneLocation, failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.Single()); + AssertDefaultDuneLocationCalculation(expectedDuneLocation, failureMechanism.CalculationsForLowerLimitNorm.Single()); + AssertDefaultDuneLocationCalculation(expectedDuneLocation, failureMechanism.CalculationsForFactorizedLowerLimitNorm.Single()); + } + + private static void AssertDefaultDuneLocationCalculation(DuneLocation expectedDuneLocation, DuneLocationCalculation calculation) + { + Assert.AreSame(expectedDuneLocation, calculation.DuneLocation); + Assert.IsNull(calculation.Output); + } } } \ No newline at end of file