Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityFactoryTest.cs =================================================================== diff -u -r4650958f34f534bf2e28edf7148689d57b360996 -rd4da4140d259add128733d2895fea1799cce600e --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityFactoryTest.cs (.../PipingCalculationActivityFactoryTest.cs) (revision 4650958f34f534bf2e28edf7148689d57b360996) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityFactoryTest.cs (.../PipingCalculationActivityFactoryTest.cs) (revision d4da4140d259add128733d2895fea1799cce600e) @@ -22,6 +22,8 @@ using System; using System.Collections.Generic; using System.Linq; +using Core.Common.Base.Service; +using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; @@ -71,7 +73,7 @@ } [Test] - public void CreateCalculationActivity_WithValidCalculation_ReturnsPipingCalculationActivityWithCorrectAssessmentLevelSet() + public void CreateCalculationActivity_WithValidCalculation_ReturnsPipingCalculationActivityWithParametersSet() { // Setup var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); @@ -81,31 +83,21 @@ hydraulicBoundaryLocation }); + var random = new Random(39); + HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation = assessmentSection.WaterLevelCalculationsForLowerLimitNorm.Single(); - hydraulicBoundaryLocationCalculation.Output = new TestHydraulicBoundaryLocationCalculationOutput(new Random(39).NextDouble()); + hydraulicBoundaryLocationCalculation.Output = new TestHydraulicBoundaryLocationCalculationOutput(random.NextDouble()); + PipingCalculationScenario calculation = CreateCalculation(hydraulicBoundaryLocation); + // Call - CalculatableActivity activity = PipingCalculationActivityFactory.CreateCalculationActivity( - PipingCalculationScenarioTestFactory.CreatePipingCalculationScenarioWithValidInput(hydraulicBoundaryLocation), - assessmentSection); + CalculatableActivity activity = PipingCalculationActivityFactory.CreateCalculationActivity(calculation, assessmentSection); // Assert Assert.IsInstanceOf(activity); - - AssertPipingCalculationActivityAssessmentLevel(activity, hydraulicBoundaryLocationCalculation); + AssertPipingCalculationActivity(activity, calculation, hydraulicBoundaryLocationCalculation); } - private static void AssertPipingCalculationActivityAssessmentLevel(CalculatableActivity activity, HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation) - { - using (new PipingSubCalculatorFactoryConfig()) - { - activity.Run(); - - var testFactory = (TestPipingSubCalculatorFactory) PipingSubCalculatorFactory.Instance; - Assert.AreEqual(hydraulicBoundaryLocationCalculation.Output.Result, testFactory.LastCreatedSellmeijerCalculator.HRiver); - } - } - [Test] public void CreateCalculationActivities_CalculationGroupNull_ThrowsArgumentNullException() { @@ -135,7 +127,7 @@ } [Test] - public void CreateCalculationActivities_WithValidCalculations_ReturnsPipingCalculationActivitiesWithCorrectAssessmentLevelsSet() + public void CreateCalculationActivities_WithValidCalculations_ReturnsPipingCalculationActivitiesWithParametersSet() { // Setup var hydraulicBoundaryLocation1 = new TestHydraulicBoundaryLocation(); @@ -156,12 +148,15 @@ HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation2 = assessmentSection.WaterLevelCalculationsForLowerLimitNorm.ElementAt(1); hydraulicBoundaryLocationCalculation2.Output = new TestHydraulicBoundaryLocationCalculationOutput(random.NextDouble()); + PipingCalculationScenario calculation1 = CreateCalculation(hydraulicBoundaryLocation1); + PipingCalculationScenario calculation2 = CreateCalculation(hydraulicBoundaryLocation2); + var calculations = new CalculationGroup { Children = { - PipingCalculationScenarioTestFactory.CreatePipingCalculationScenarioWithValidInput(hydraulicBoundaryLocation1), - PipingCalculationScenarioTestFactory.CreatePipingCalculationScenarioWithValidInput(hydraulicBoundaryLocation2) + calculation1, + calculation2 } }; @@ -171,9 +166,28 @@ // Assert CollectionAssert.AllItemsAreInstancesOfType(activities, typeof(PipingCalculationActivity)); + AssertPipingCalculationActivity(activities.First(), calculation1, hydraulicBoundaryLocationCalculation1); + AssertPipingCalculationActivity(activities.ElementAt(1), calculation2, hydraulicBoundaryLocationCalculation2); + } - AssertPipingCalculationActivityAssessmentLevel(activities.First(), hydraulicBoundaryLocationCalculation1); - AssertPipingCalculationActivityAssessmentLevel(activities.ElementAt(1), hydraulicBoundaryLocationCalculation2); + private static PipingCalculationScenario CreateCalculation(HydraulicBoundaryLocation hydraulicBoundaryLocation) + { + PipingCalculationScenario calculation = PipingCalculationScenarioTestFactory.CreatePipingCalculationScenarioWithValidInput(hydraulicBoundaryLocation); + calculation.InputParameters.ExitPointL = new Random(39).NextRoundedDouble(0.5, 1.0); + return calculation; } + + private static void AssertPipingCalculationActivity(Activity activity, + PipingCalculationScenario calculation, + HydraulicBoundaryLocationCalculation hydraulicBoundaryLocationCalculation) + { + using (new PipingSubCalculatorFactoryConfig()) + { + activity.Run(); + var testFactory = (TestPipingSubCalculatorFactory) PipingSubCalculatorFactory.Instance; + Assert.AreEqual(calculation.InputParameters.ExitPointL, testFactory.LastCreatedEffectiveThicknessCalculator.ExitPointXCoordinate); + Assert.AreEqual(hydraulicBoundaryLocationCalculation.Output.Result, testFactory.LastCreatedSellmeijerCalculator.HRiver); + } + } } } \ No newline at end of file