Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationServiceTest.cs =================================================================== diff -u -r4bf59bb3506b840b284efe0c0f4431b7876e0e5b -rb4eacac82deeccf5e476f7302d5cff481aae2438 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationServiceTest.cs (.../HeightStructuresCalculationServiceTest.cs) (revision 4bf59bb3506b840b284efe0c0f4431b7876e0e5b) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationServiceTest.cs (.../HeightStructuresCalculationServiceTest.cs) (revision b4eacac82deeccf5e476f7302d5cff481aae2438) @@ -610,6 +610,10 @@ var mockRepository = new MockRepository(); IAssessmentSection assessmentSectionStub = AssessmentSectionHelper.CreateAssessmentSectionStub(heightStructuresFailureMechanism, mockRepository); + + var calculatorFactory = mockRepository.Stub(); + calculatorFactory.Expect(cf => cf.CreateStructuresOvertoppingCalculator(testDataPath)) + .Return(new TestStructuresOvertoppingCalculator()); mockRepository.ReplayAll(); var calculation = new TestHeightStructuresCalculation @@ -639,7 +643,7 @@ } // Call - using (new HydraRingCalculatorFactoryConfig()) + using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { Action call = () => new HeightStructuresCalculationService().Calculate(calculation, assessmentSectionStub, @@ -678,6 +682,10 @@ var mockRepository = new MockRepository(); IAssessmentSection assessmentSectionStub = AssessmentSectionHelper.CreateAssessmentSectionStub(heightStructuresFailureMechanism, mockRepository); + + var calculatorFactory = mockRepository.Stub(); + calculatorFactory.Expect(cf => cf.CreateStructuresOvertoppingCalculator(testDataPath)) + .Return(new TestStructuresOvertoppingCalculator()); mockRepository.ReplayAll(); var calculation = new TestHeightStructuresCalculation @@ -692,7 +700,7 @@ }; // Call - using (new HydraRingCalculatorFactoryConfig()) + using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { Action call = () => new HeightStructuresCalculationService().Calculate(calculation, assessmentSectionStub, @@ -724,6 +732,11 @@ var mockRepository = new MockRepository(); IAssessmentSection assessmentSectionStub = AssessmentSectionHelper.CreateAssessmentSectionStub(heightStructuresFailureMechanism, mockRepository); + + var testStructuresOvertoppingCalculator = new TestStructuresOvertoppingCalculator(); + var calculatorFactory = mockRepository.Stub(); + calculatorFactory.Expect(cf => cf.CreateStructuresOvertoppingCalculator(testDataPath)) + .Return(testStructuresOvertoppingCalculator); mockRepository.ReplayAll(); var calculation = new TestHeightStructuresCalculation @@ -739,10 +752,8 @@ calculation.InputParameters.ForeshoreProfile = new TestForeshoreProfile(useBreakWater); } - using (new HydraRingCalculatorFactoryConfig()) + using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { - TestStructuresOvertoppingCalculator testStructuresOvertoppingCalculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).StructuresOvertoppingCalculator; - // Call new HeightStructuresCalculationService().Calculate(calculation, assessmentSectionStub, @@ -752,7 +763,6 @@ // Assert StructuresOvertoppingCalculationInput[] overtoppingCalculationInputs = testStructuresOvertoppingCalculator.ReceivedInputs.ToArray(); Assert.AreEqual(1, overtoppingCalculationInputs.Length); - Assert.AreEqual(testDataPath, testStructuresOvertoppingCalculator.HydraulicBoundaryDatabaseDirectory); GeneralHeightStructuresInput generalInput = heightStructuresFailureMechanism.GeneralInput; HeightStructuresInput input = calculation.InputParameters; @@ -797,6 +807,11 @@ var mockRepository = new MockRepository(); IAssessmentSection assessmentSectionStub = AssessmentSectionHelper.CreateAssessmentSectionStub(heightStructuresFailureMechanism, mockRepository); + + var testStructuresOvertoppingCalculator = new TestStructuresOvertoppingCalculator(); + var calculatorFactory = mockRepository.Stub(); + calculatorFactory.Expect(cf => cf.CreateStructuresOvertoppingCalculator(testDataPath)) + .Return(testStructuresOvertoppingCalculator); mockRepository.ReplayAll(); var calculation = new TestHeightStructuresCalculation @@ -807,9 +822,8 @@ } }; - using (new HydraRingCalculatorFactoryConfig()) + using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { - TestStructuresOvertoppingCalculator testStructuresOvertoppingCalculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).StructuresOvertoppingCalculator; var service = new HeightStructuresCalculationService(); testStructuresOvertoppingCalculator.CalculationFinishedHandler += (s, e) => service.Cancel(); @@ -840,6 +854,15 @@ var mockRepository = new MockRepository(); IAssessmentSection assessmentSectionStub = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mockRepository); + + var testStructuresOvertoppingCalculator = new TestStructuresOvertoppingCalculator + { + EndInFailure = true, + LastErrorFileContent = "An error occurred" + }; + var calculatorFactory = mockRepository.Stub(); + calculatorFactory.Expect(cf => cf.CreateStructuresOvertoppingCalculator(testDataPath)) + .Return(testStructuresOvertoppingCalculator); mockRepository.ReplayAll(); var calculation = new TestHeightStructuresCalculation @@ -850,12 +873,8 @@ } }; - using (new HydraRingCalculatorFactoryConfig()) + using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { - TestStructuresOvertoppingCalculator calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).StructuresOvertoppingCalculator; - calculator.LastErrorFileContent = "An error occurred"; - calculator.EndInFailure = true; - var exceptionThrown = false; // Call @@ -904,6 +923,14 @@ var mockRepository = new MockRepository(); IAssessmentSection assessmentSectionStub = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mockRepository); + + var testStructuresOvertoppingCalculator = new TestStructuresOvertoppingCalculator + { + EndInFailure = true + }; + var calculatorFactory = mockRepository.Stub(); + calculatorFactory.Expect(cf => cf.CreateStructuresOvertoppingCalculator(testDataPath)) + .Return(testStructuresOvertoppingCalculator); mockRepository.ReplayAll(); var calculation = new TestHeightStructuresCalculation @@ -914,11 +941,8 @@ } }; - using (new HydraRingCalculatorFactoryConfig()) + using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { - TestStructuresOvertoppingCalculator calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).StructuresOvertoppingCalculator; - calculator.EndInFailure = true; - var exceptionThrown = false; // Call @@ -967,6 +991,14 @@ var mockRepository = new MockRepository(); IAssessmentSection assessmentSectionStub = AssessmentSectionHelper.CreateAssessmentSectionStub(failureMechanism, mockRepository); + + var testStructuresOvertoppingCalculator = new TestStructuresOvertoppingCalculator + { + LastErrorFileContent = "An error occurred" + }; + var calculatorFactory = mockRepository.Stub(); + calculatorFactory.Expect(cf => cf.CreateStructuresOvertoppingCalculator(testDataPath)) + .Return(testStructuresOvertoppingCalculator); mockRepository.ReplayAll(); var calculation = new TestHeightStructuresCalculation @@ -977,12 +1009,8 @@ } }; - using (new HydraRingCalculatorFactoryConfig()) + using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { - TestStructuresOvertoppingCalculator calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).StructuresOvertoppingCalculator; - calculator.EndInFailure = false; - calculator.LastErrorFileContent = "An error occurred"; - var exceptionThrown = false; string exceptionMessage = string.Empty; @@ -1015,7 +1043,6 @@ }); Assert.IsTrue(exceptionThrown); Assert.IsNull(calculation.Output); - Assert.AreEqual(calculator.LastErrorFileContent, exceptionMessage); } mockRepository.VerifyAll(); }