Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Views/AggregatedDuneLocation.cs =================================================================== diff -u -r9e9976818f1b446948c3bf815cafe2e023f98ac1 -r131748c042f125579102df4dae69838503c1ed6f --- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Views/AggregatedDuneLocation.cs (.../AggregatedDuneLocation.cs) (revision 9e9976818f1b446948c3bf815cafe2e023f98ac1) +++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Views/AggregatedDuneLocation.cs (.../AggregatedDuneLocation.cs) (revision 131748c042f125579102df4dae69838503c1ed6f) @@ -46,14 +46,26 @@ /// wave height calculations for different target probabilities. /// The results of the /// wave period calculations for different target probabilities. + /// The results of the + /// mean tide calculations for different target probabilities. + /// The results of the + /// wave directional spread calculations for different target probabilities. + /// The results of the + /// tide surge phase difference calculations for different target probabilities. /// Thrown when , /// , , - /// or - /// is null. + /// , + /// , + /// , + /// or + /// is null. public AggregatedDuneLocation(long id, string name, Point2D location, int coastalAreaId, RoundedDouble offset, RoundedDouble d50, IEnumerable> waterLevelCalculationsForTargetProbabilities, IEnumerable> waveHeightCalculationsForTargetProbabilities, - IEnumerable> wavePeriodCalculationsForTargetProbabilities) + IEnumerable> wavePeriodCalculationsForTargetProbabilities, + IEnumerable> meanTidalAmplitudeCalculationsForTargetProbabilities, + IEnumerable> waveDirectionalSpreadCalculationsForTargetProbabilities, + IEnumerable> tideSurgePhaseDifferenceCalculationsForTargetProbabilities) { if (name == null) { @@ -80,6 +92,21 @@ throw new ArgumentNullException(nameof(wavePeriodCalculationsForTargetProbabilities)); } + if (meanTidalAmplitudeCalculationsForTargetProbabilities == null) + { + throw new ArgumentNullException(nameof(meanTidalAmplitudeCalculationsForTargetProbabilities)); + } + + if (waveDirectionalSpreadCalculationsForTargetProbabilities == null) + { + throw new ArgumentNullException(nameof(waveDirectionalSpreadCalculationsForTargetProbabilities)); + } + + if (tideSurgePhaseDifferenceCalculationsForTargetProbabilities == null) + { + throw new ArgumentNullException(nameof(tideSurgePhaseDifferenceCalculationsForTargetProbabilities)); + } + Id = id; Name = name; Location = location; @@ -89,6 +116,9 @@ WaterLevelCalculationsForTargetProbabilities = waterLevelCalculationsForTargetProbabilities; WaveHeightCalculationsForTargetProbabilities = waveHeightCalculationsForTargetProbabilities; WavePeriodCalculationsForTargetProbabilities = wavePeriodCalculationsForTargetProbabilities; + MeanTidalAmplitudeCalculationsForTargetProbabilities = meanTidalAmplitudeCalculationsForTargetProbabilities; + WaveDirectionalSpreadCalculationsForTargetProbabilities = waveDirectionalSpreadCalculationsForTargetProbabilities; + TideSurgePhaseDifferenceCalculationsForTargetProbabilities = tideSurgePhaseDifferenceCalculationsForTargetProbabilities; } /// @@ -135,5 +165,20 @@ /// Gets the results of the wave period calculations for different target probabilities. /// public IEnumerable> WavePeriodCalculationsForTargetProbabilities { get; } + + /// + /// Gets the results of the mean tidal amplitude calculations for different target probabilities. + /// + public IEnumerable> MeanTidalAmplitudeCalculationsForTargetProbabilities { get; } + + /// + /// Gets the results of the wave directional spread calculations for different target probabilities. + /// + public IEnumerable> WaveDirectionalSpreadCalculationsForTargetProbabilities { get; } + + /// + /// Gets the results of the tide surge phase difference calculations for different target probabilities. + /// + public IEnumerable> TideSurgePhaseDifferenceCalculationsForTargetProbabilities { get; } } } \ No newline at end of file Index: Riskeer/DuneErosion/test/Riskeer.DuneErosion.Forms.Test/Views/AggregatedDuneLocationTest.cs =================================================================== diff -u -r9e9976818f1b446948c3bf815cafe2e023f98ac1 -r131748c042f125579102df4dae69838503c1ed6f --- Riskeer/DuneErosion/test/Riskeer.DuneErosion.Forms.Test/Views/AggregatedDuneLocationTest.cs (.../AggregatedDuneLocationTest.cs) (revision 9e9976818f1b446948c3bf815cafe2e023f98ac1) +++ Riskeer/DuneErosion/test/Riskeer.DuneErosion.Forms.Test/Views/AggregatedDuneLocationTest.cs (.../AggregatedDuneLocationTest.cs) (revision 131748c042f125579102df4dae69838503c1ed6f) @@ -40,6 +40,9 @@ RoundedDouble.NaN, RoundedDouble.NaN, Array.Empty>(), Array.Empty>(), + Array.Empty>(), + Array.Empty>(), + Array.Empty>(), Array.Empty>()); // Assert @@ -55,6 +58,9 @@ RoundedDouble.NaN, RoundedDouble.NaN, Array.Empty>(), Array.Empty>(), + Array.Empty>(), + Array.Empty>(), + Array.Empty>(), Array.Empty>()); // Assert @@ -69,6 +75,9 @@ void Call() => new AggregatedDuneLocation(0, string.Empty, new Point2D(0, 0), 0, RoundedDouble.NaN, RoundedDouble.NaN, null, Array.Empty>(), + Array.Empty>(), + Array.Empty>(), + Array.Empty>(), Array.Empty>()); // Assert @@ -84,6 +93,9 @@ RoundedDouble.NaN, RoundedDouble.NaN, Array.Empty>(), null, + Array.Empty>(), + Array.Empty>(), + Array.Empty>(), Array.Empty>()); // Assert @@ -99,14 +111,71 @@ RoundedDouble.NaN, RoundedDouble.NaN, Array.Empty>(), Array.Empty>(), - null); + null, + Array.Empty>(), + Array.Empty>(), + Array.Empty>()); // Assert var exception = Assert.Throws(Call); Assert.AreEqual("wavePeriodCalculationsForTargetProbabilities", exception.ParamName); } [Test] + public void Constructor_MeanTidalAmplitudeCalculationsForTargetProbabilitiesNull_ThrowsArgumentNullException() + { + // Call + void Call() => new AggregatedDuneLocation(0, string.Empty, new Point2D(0, 0), 0, + RoundedDouble.NaN, RoundedDouble.NaN, + Array.Empty>(), + Array.Empty>(), + Array.Empty>(), + null, + Array.Empty>(), + Array.Empty>()); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("meanTidalAmplitudeCalculationsForTargetProbabilities", exception.ParamName); + } + + [Test] + public void Constructor_WaveDirectionalSpreadCalculationsForTargetProbabilitiesNull_ThrowsArgumentNullException() + { + // Call + void Call() => new AggregatedDuneLocation(0, string.Empty, new Point2D(0, 0), 0, + RoundedDouble.NaN, RoundedDouble.NaN, + Array.Empty>(), + Array.Empty>(), + Array.Empty>(), + Array.Empty>(), + null, + Array.Empty>()); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("waveDirectionalSpreadCalculationsForTargetProbabilities", exception.ParamName); + } + + [Test] + public void Constructor_TideSurgePhaseDifferenceCalculationsForTargetProbabilitiesNull_ThrowsArgumentNullException() + { + // Call + void Call() => new AggregatedDuneLocation(0, string.Empty, new Point2D(0, 0), 0, + RoundedDouble.NaN, RoundedDouble.NaN, + Array.Empty>(), + Array.Empty>(), + Array.Empty>(), + Array.Empty>(), + Array.Empty>(), + null); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("tideSurgePhaseDifferenceCalculationsForTargetProbabilities", exception.ParamName); + } + + [Test] public void Constructor_ExpectedValues() { // Setup @@ -118,15 +187,22 @@ int coastalAreaId = random.Next(); RoundedDouble offset = random.NextRoundedDouble(); RoundedDouble d50 = random.NextRoundedDouble(); + var waterLevelCalculationsForTargetProbabilities = new List>(); var waveHeightCalculationsForTargetProbabilities = new List>(); var wavePeriodCalculationsForTargetProbabilities = new List>(); + var meanTidalAmplitudeCalculationsForTargetProbabilities = new List>(); + var waveDirectionalSpreadCalculationsForTargetProbabilities = new List>(); + var tideSurgePhaseDifferenceCalculationsForTargetProbabilities = new List>(); // Call var aggregatedDuneLocation = new AggregatedDuneLocation(id, name, location, coastalAreaId, offset, d50, waterLevelCalculationsForTargetProbabilities, waveHeightCalculationsForTargetProbabilities, - wavePeriodCalculationsForTargetProbabilities); + wavePeriodCalculationsForTargetProbabilities, + meanTidalAmplitudeCalculationsForTargetProbabilities, + waveDirectionalSpreadCalculationsForTargetProbabilities, + tideSurgePhaseDifferenceCalculationsForTargetProbabilities); // Assert Assert.AreEqual(id, aggregatedDuneLocation.Id); @@ -138,6 +214,9 @@ Assert.AreSame(waterLevelCalculationsForTargetProbabilities, aggregatedDuneLocation.WaterLevelCalculationsForTargetProbabilities); Assert.AreSame(waveHeightCalculationsForTargetProbabilities, aggregatedDuneLocation.WaveHeightCalculationsForTargetProbabilities); Assert.AreSame(wavePeriodCalculationsForTargetProbabilities, aggregatedDuneLocation.WavePeriodCalculationsForTargetProbabilities); + Assert.AreSame(meanTidalAmplitudeCalculationsForTargetProbabilities, aggregatedDuneLocation.MeanTidalAmplitudeCalculationsForTargetProbabilities); + Assert.AreSame(waveDirectionalSpreadCalculationsForTargetProbabilities, aggregatedDuneLocation.WaveDirectionalSpreadCalculationsForTargetProbabilities); + Assert.AreSame(tideSurgePhaseDifferenceCalculationsForTargetProbabilities, aggregatedDuneLocation.TideSurgePhaseDifferenceCalculationsForTargetProbabilities); } } } \ No newline at end of file