Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Factories/GrassCoverErosionOutwardsMapDataFeaturesFactoryTest.cs =================================================================== diff -u -r5ad8e6d01f15a280162b76b688ab30487e78e206 -r5e14007596b4e9cc7040576c7026a9c0e37bb323 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Factories/GrassCoverErosionOutwardsMapDataFeaturesFactoryTest.cs (.../GrassCoverErosionOutwardsMapDataFeaturesFactoryTest.cs) (revision 5ad8e6d01f15a280162b76b688ab30487e78e206) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Factories/GrassCoverErosionOutwardsMapDataFeaturesFactoryTest.cs (.../GrassCoverErosionOutwardsMapDataFeaturesFactoryTest.cs) (revision 5e14007596b4e9cc7040576c7026a9c0e37bb323) @@ -142,7 +142,7 @@ new HydraulicBoundaryLocation(2, "test", 2, 2) }; - GrassCoverErosionOutwardsHydraulicBoundaryLocationsHelper.AddHydraulicBoundaryLocations( + GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.AddHydraulicBoundaryLocations( failureMechanism, assessmentSection, locations, withOutput); // Call Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Views/GrassCoverErosionOutwardsFailureMechanismViewTest.cs =================================================================== diff -u -rd202a2a1f29d9ac67b4565bb88ded58baf9753a7 -r5e14007596b4e9cc7040576c7026a9c0e37bb323 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Views/GrassCoverErosionOutwardsFailureMechanismViewTest.cs (.../GrassCoverErosionOutwardsFailureMechanismViewTest.cs) (revision d202a2a1f29d9ac67b4565bb88ded58baf9753a7) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/Views/GrassCoverErosionOutwardsFailureMechanismViewTest.cs (.../GrassCoverErosionOutwardsFailureMechanismViewTest.cs) (revision 5e14007596b4e9cc7040576c7026a9c0e37bb323) @@ -211,7 +211,7 @@ failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationA); failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationB); - GrassCoverErosionOutwardsHydraulicBoundaryLocationsHelper.AddHydraulicBoundaryLocations(failureMechanism, assessmentSection, new[] + GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.AddHydraulicBoundaryLocations(failureMechanism, assessmentSection, new[] { new HydraulicBoundaryLocation(1, "test", 1.0, 2.0) }); @@ -245,7 +245,7 @@ var assessmentSection = new ObservableTestAssessmentSectionStub(); var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); - GrassCoverErosionOutwardsHydraulicBoundaryLocationsHelper.AddHydraulicBoundaryLocations(failureMechanism, assessmentSection, new[] + GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.AddHydraulicBoundaryLocations(failureMechanism, assessmentSection, new[] { new HydraulicBoundaryLocation(1, "test", 1.0, 2.0) }); @@ -265,7 +265,7 @@ MapDataTestHelper.AssertHydraulicBoundaryLocationsMapData(assessmentSection.HydraulicBoundaryDatabase.Locations, hydraulicBoundaryLocationsMapData); // When - GrassCoverErosionOutwardsHydraulicBoundaryLocationsHelper.AddHydraulicBoundaryLocations(failureMechanism, assessmentSection, new[] + GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.AddHydraulicBoundaryLocations(failureMechanism, assessmentSection, new[] { new HydraulicBoundaryLocation(1, "test", 1.0, 2.0), new HydraulicBoundaryLocation(2, "test2", 3.0, 4.0) @@ -287,7 +287,7 @@ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "test1", 1.0, 2.0); var assessmentSection = new ObservableTestAssessmentSectionStub(); var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); - GrassCoverErosionOutwardsHydraulicBoundaryLocationsHelper.AddHydraulicBoundaryLocations(failureMechanism, assessmentSection, new[] + GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.AddHydraulicBoundaryLocations(failureMechanism, assessmentSection, new[] { hydraulicBoundaryLocation }); Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.Test/GrassCoverErosionOutwardsAggregatedHydraulicBoundaryLocationFactoryTest.cs =================================================================== diff -u -ra7f109a79346e1eb958eff55f2b0729147573def -r5e14007596b4e9cc7040576c7026a9c0e37bb323 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.Test/GrassCoverErosionOutwardsAggregatedHydraulicBoundaryLocationFactoryTest.cs (.../GrassCoverErosionOutwardsAggregatedHydraulicBoundaryLocationFactoryTest.cs) (revision a7f109a79346e1eb958eff55f2b0729147573def) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.Test/GrassCoverErosionOutwardsAggregatedHydraulicBoundaryLocationFactoryTest.cs (.../GrassCoverErosionOutwardsAggregatedHydraulicBoundaryLocationFactoryTest.cs) (revision 5e14007596b4e9cc7040576c7026a9c0e37bb323) @@ -73,7 +73,7 @@ var assessmentSection = new ObservableTestAssessmentSectionStub(); var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); - GrassCoverErosionOutwardsHydraulicBoundaryLocationsHelper.AddHydraulicBoundaryLocations( + GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.AddHydraulicBoundaryLocations( failureMechanism, assessmentSection, new[] { new HydraulicBoundaryLocation(1, "location1", 1, 1), Fisheye: Tag 5e14007596b4e9cc7040576c7026a9c0e37bb323 refers to a dead (removed) revision in file `Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test/GrassCoverErosionOutwardsHydraulicBoundaryLocationsHelperTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test/GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelperTest.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test/GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelperTest.cs (revision 0) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test/GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelperTest.cs (revision 5e14007596b4e9cc7040576c7026a9c0e37bb323) @@ -0,0 +1,87 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Collections.Generic; +using System.Linq; +using NUnit.Framework; +using Ringtoets.Common.Data.Hydraulics; +using Ringtoets.Common.Data.TestUtil; +using Ringtoets.GrassCoverErosionOutwards.Data; +using Ringtoets.GrassCoverErosionOutwards.Util.TestUtil; + +namespace Ringtoest.GrassCoverErosionOutwards.Util.TestUtil.Test +{ + [TestFixture] + public class GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelperTest + { + [Test] + [TestCase(true)] + [TestCase(false)] + public void AddHydraulicBoundaryLocations_Always_AddsLocationsAndCalculations(bool setCalculationOutput) + { + // Setup + var assessmentSection = new ObservableTestAssessmentSectionStub(); + var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); + var locations = new[] + { + new HydraulicBoundaryLocation(1, "Test", 1, 1), + new HydraulicBoundaryLocation(2, "Test", 2, 2) + }; + + // Call + GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.AddHydraulicBoundaryLocations(failureMechanism, assessmentSection, locations, setCalculationOutput); + + // Assert + CollectionAssert.AreEqual(locations, assessmentSection.HydraulicBoundaryDatabase.Locations); + + AssertHydraulicBoundaryCalculations(assessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(assessmentSection.WaterLevelCalculationsForSignalingNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(assessmentSection.WaterLevelCalculationsForLowerLimitNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(assessmentSection.WaterLevelCalculationsForFactorizedLowerLimitNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(assessmentSection.WaveHeightCalculationsForFactorizedSignalingNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(assessmentSection.WaveHeightCalculationsForSignalingNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(assessmentSection.WaveHeightCalculationsForLowerLimitNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(assessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm, locations, setCalculationOutput); + + AssertHydraulicBoundaryCalculations(failureMechanism.WaterLevelCalculationsForMechanismSpecificFactorizedSignalingNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(failureMechanism.WaterLevelCalculationsForMechanismSpecificSignalingNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(failureMechanism.WaterLevelCalculationsForMechanismSpecificLowerLimitNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(failureMechanism.WaveHeightCalculationsForMechanismSpecificFactorizedSignalingNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(failureMechanism.WaveHeightCalculationsForMechanismSpecificSignalingNorm, locations, setCalculationOutput); + AssertHydraulicBoundaryCalculations(failureMechanism.WaveHeightCalculationsForMechanismSpecificLowerLimitNorm, locations, setCalculationOutput); + } + + private static void AssertHydraulicBoundaryCalculations(IEnumerable calculations, + HydraulicBoundaryLocation[] expectedHydraulicBoundaryLocations, + bool expectedHasOutput) + { + HydraulicBoundaryLocationCalculation[] calculationsArray = calculations.ToArray(); + + Assert.AreEqual(expectedHydraulicBoundaryLocations.Length, calculationsArray.Length); + + for (int i = 0; i < expectedHydraulicBoundaryLocations.Length; i++) + { + Assert.AreSame(expectedHydraulicBoundaryLocations[i], calculationsArray[i].HydraulicBoundaryLocation); + Assert.AreEqual(expectedHasOutput, calculationsArray[i].HasOutput); + } + } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test.csproj =================================================================== diff -u -ra7f109a79346e1eb958eff55f2b0729147573def -r5e14007596b4e9cc7040576c7026a9c0e37bb323 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test.csproj) (revision a7f109a79346e1eb958eff55f2b0729147573def) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.Test.csproj) (revision 5e14007596b4e9cc7040576c7026a9c0e37bb323) @@ -14,7 +14,7 @@ - + Fisheye: Tag 5e14007596b4e9cc7040576c7026a9c0e37bb323 refers to a dead (removed) revision in file `Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil/GrassCoverErosionOutwardsHydraulicBoundaryLocationsHelper.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil/GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil/GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.cs (revision 0) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil/GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper.cs (revision 5e14007596b4e9cc7040576c7026a9c0e37bb323) @@ -0,0 +1,77 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.Collections.Generic; +using Ringtoets.Common.Data.Hydraulics; +using Ringtoets.Common.Data.TestUtil; +using Ringtoets.GrassCoverErosionOutwards.Data; + +namespace Ringtoets.GrassCoverErosionOutwards.Util.TestUtil +{ + /// + /// Test helper for handling with hydraulic boundary locations and calculations in + /// . + /// + public static class GrassCoverErosionOutwardsHydraulicBoundaryLocationsTestHelper + { + private static Random random; + + /// + /// Adds the given to + /// the and . + /// + /// The failure mechanism to add the locations to. + /// The assessment section to add the locations to. + /// The locations to add. + /// Whether to set dummy output for the automatically generated + /// hydraulic boundary location calculations. + public static void AddHydraulicBoundaryLocations(GrassCoverErosionOutwardsFailureMechanism failureMechanism, + ObservableTestAssessmentSectionStub assessmentSection, + IEnumerable hydraulicBoundaryLocations, + bool setCalculationOutput = false) + { + random = new Random(39); + + assessmentSection.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations, setCalculationOutput); + failureMechanism.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations); + + if (setCalculationOutput) + { + CreateHydraulicBoundaryLocationCalculationsOutput(failureMechanism.WaterLevelCalculationsForMechanismSpecificFactorizedSignalingNorm); + CreateHydraulicBoundaryLocationCalculationsOutput(failureMechanism.WaterLevelCalculationsForMechanismSpecificSignalingNorm); + CreateHydraulicBoundaryLocationCalculationsOutput(failureMechanism.WaterLevelCalculationsForMechanismSpecificLowerLimitNorm); + CreateHydraulicBoundaryLocationCalculationsOutput(failureMechanism.WaveHeightCalculationsForMechanismSpecificFactorizedSignalingNorm); + CreateHydraulicBoundaryLocationCalculationsOutput(failureMechanism.WaveHeightCalculationsForMechanismSpecificSignalingNorm); + CreateHydraulicBoundaryLocationCalculationsOutput(failureMechanism.WaveHeightCalculationsForMechanismSpecificLowerLimitNorm); + } + } + + private static void CreateHydraulicBoundaryLocationCalculationsOutput( + IEnumerable hydraulicBoundaryLocationCalculations) + { + foreach (HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation in hydraulicBoundaryLocationCalculations) + { + hydraulicBoundaryLocationCalculation.Output = new TestHydraulicBoundaryLocationOutput(random.NextDouble()); + } + } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.csproj =================================================================== diff -u -ra7f109a79346e1eb958eff55f2b0729147573def -r5e14007596b4e9cc7040576c7026a9c0e37bb323 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.csproj (.../Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.csproj) (revision a7f109a79346e1eb958eff55f2b0729147573def) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil/Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.csproj (.../Ringtoets.GrassCoverErosionOutwards.Util.TestUtil.csproj) (revision 5e14007596b4e9cc7040576c7026a9c0e37bb323) @@ -11,7 +11,7 @@ - +