Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.TestUtil.Test/DuneLocationsTestHelperTest.cs =================================================================== diff -u -ra789b7d96a520ff5eff1d2c1486df5dac89ce802 -rfc467f76e8545222ec2672fe9206129cc8fd9b4f --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.TestUtil.Test/DuneLocationsTestHelperTest.cs (.../DuneLocationsTestHelperTest.cs) (revision a789b7d96a520ff5eff1d2c1486df5dac89ce802) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.TestUtil.Test/DuneLocationsTestHelperTest.cs (.../DuneLocationsTestHelperTest.cs) (revision fc467f76e8545222ec2672fe9206129cc8fd9b4f) @@ -113,5 +113,49 @@ var exception = Assert.Throws(call); Assert.AreEqual("failureMechanism", exception.ParamName); } + + [Test] + public void SetDuneLocationCalculationOutput_FailureMechanismNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => DuneLocationsTestHelper.SetDuneLocationCalculationOutput(null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("failureMechanism", exception.ParamName); + } + + [Test] + public void SetDuneLocationCalculationOut_FailureMechanismWithDuneLocations_SetsAllDuneLocationCalculationsWithOutput() + { + // Setup + var failureMechanism = new DuneErosionFailureMechanism(); + failureMechanism.SetDuneLocations(new[] + { + new TestDuneLocation(), + new TestDuneLocation() + }); + + // Precondition + Assert.True(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.All(calc => !HasDuneLocationCalculationOutput(calc))); + Assert.True(failureMechanism.CalculationsForMechanismSpecificSignalingNorm.All(calc => !HasDuneLocationCalculationOutput(calc))); + Assert.True(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.All(calc => !HasDuneLocationCalculationOutput(calc))); + Assert.True(failureMechanism.CalculationsForLowerLimitNorm.All(calc => !HasDuneLocationCalculationOutput(calc))); + Assert.True(failureMechanism.CalculationsForFactorizedLowerLimitNorm.All(calc => !HasDuneLocationCalculationOutput(calc))); + + // Call + DuneLocationsTestHelper.SetDuneLocationCalculationOutput(failureMechanism); + + // Assert + Assert.True(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.All(HasDuneLocationCalculationOutput)); + Assert.True(failureMechanism.CalculationsForMechanismSpecificSignalingNorm.All(HasDuneLocationCalculationOutput)); + Assert.True(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.All(HasDuneLocationCalculationOutput)); + Assert.True(failureMechanism.CalculationsForLowerLimitNorm.All(HasDuneLocationCalculationOutput)); + Assert.True(failureMechanism.CalculationsForFactorizedLowerLimitNorm.All(HasDuneLocationCalculationOutput)); + } + private static bool HasDuneLocationCalculationOutput(DuneLocationCalculation calculation) + { + return calculation.Output != null; + } } } \ No newline at end of file Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.TestUtil/DuneLocationsTestHelper.cs =================================================================== diff -u -ra789b7d96a520ff5eff1d2c1486df5dac89ce802 -rfc467f76e8545222ec2672fe9206129cc8fd9b4f --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.TestUtil/DuneLocationsTestHelper.cs (.../DuneLocationsTestHelper.cs) (revision a789b7d96a520ff5eff1d2c1486df5dac89ce802) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Data.TestUtil/DuneLocationsTestHelper.cs (.../DuneLocationsTestHelper.cs) (revision fc467f76e8545222ec2672fe9206129cc8fd9b4f) @@ -80,9 +80,39 @@ Assert.True(failureMechanism.CalculationsForFactorizedLowerLimitNorm.All(calc => !HasDuneLocationCalculationOutput(calc))); } + /// + /// Sets dummy dune location calculation output for all dune location calculations within . + /// + /// The failure mechanism to set the dune location calculation outputs for. + /// Thrown when is null. + public static void SetDuneLocationCalculationOutput(DuneErosionFailureMechanism failureMechanism) + { + if (failureMechanism == null) + { + throw new ArgumentNullException(nameof(failureMechanism)); + } + + SetDuneLocationCalculationOutput(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm); + SetDuneLocationCalculationOutput(failureMechanism.CalculationsForMechanismSpecificSignalingNorm); + SetDuneLocationCalculationOutput(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm); + SetDuneLocationCalculationOutput(failureMechanism.CalculationsForLowerLimitNorm); + SetDuneLocationCalculationOutput(failureMechanism.CalculationsForFactorizedLowerLimitNorm); + } + private static bool HasDuneLocationCalculationOutput(DuneLocationCalculation calculation) { return calculation.Output != null; } + + private static void SetDuneLocationCalculationOutput(IEnumerable calculations) + { + var random = new Random(21); + foreach (DuneLocationCalculation duneLocationCalculation in calculations) + { + duneLocationCalculation.Output = new TestDuneLocationCalculationOutput(random.NextDouble(), + random.NextDouble(), + random.NextDouble()); + } + } } } \ No newline at end of file Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Factories/AggregatedDuneLocationFactoryTest.cs =================================================================== diff -u -rbece430ab05641ddb6fe2976c5683028b82acb08 -rfc467f76e8545222ec2672fe9206129cc8fd9b4f --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Factories/AggregatedDuneLocationFactoryTest.cs (.../AggregatedDuneLocationFactoryTest.cs) (revision bece430ab05641ddb6fe2976c5683028b82acb08) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/Factories/AggregatedDuneLocationFactoryTest.cs (.../AggregatedDuneLocationFactoryTest.cs) (revision fc467f76e8545222ec2672fe9206129cc8fd9b4f) @@ -57,7 +57,7 @@ var failureMechanism = new DuneErosionFailureMechanism(); failureMechanism.SetDuneLocations(duneLocations); - SetDuneLocationCalculationOutput(failureMechanism); + DuneLocationsTestHelper.SetDuneLocationCalculationOutput(failureMechanism); // Call IEnumerable aggregatedLocations = AggregatedDuneLocationFactory.CreateAggregatedDuneLocations(failureMechanism); @@ -171,26 +171,6 @@ }); } - private static void SetDuneLocationCalculationOutput(DuneErosionFailureMechanism failureMechanism) - { - SetDuneLocationCalculationOutput(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm); - SetDuneLocationCalculationOutput(failureMechanism.CalculationsForMechanismSpecificSignalingNorm); - SetDuneLocationCalculationOutput(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm); - SetDuneLocationCalculationOutput(failureMechanism.CalculationsForLowerLimitNorm); - SetDuneLocationCalculationOutput(failureMechanism.CalculationsForFactorizedLowerLimitNorm); - } - - private static void SetDuneLocationCalculationOutput(IEnumerable calculations) - { - var random = new Random(21); - foreach (DuneLocationCalculation duneLocationCalculation in calculations) - { - duneLocationCalculation.Output = new TestDuneLocationCalculationOutput(random.NextDouble(), - random.NextDouble(), - random.NextDouble()); - } - } - private static void AssertDuneLocationOutput(IEnumerable calculations, DuneLocation duneLocation, Func getWaterLevelFunc,