Index: Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Integration.Test/Riskeer.StabilityStoneCover.Integration.Test.csproj =================================================================== diff -u -rdfc6294aaf879ceaeb80307e6e1b323654592b6e -r5c5d599c178c427f60fab3ae7690da47d1a9ea6f --- Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Integration.Test/Riskeer.StabilityStoneCover.Integration.Test.csproj (.../Riskeer.StabilityStoneCover.Integration.Test.csproj) (revision dfc6294aaf879ceaeb80307e6e1b323654592b6e) +++ Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Integration.Test/Riskeer.StabilityStoneCover.Integration.Test.csproj (.../Riskeer.StabilityStoneCover.Integration.Test.csproj) (revision 5c5d599c178c427f60fab3ae7690da47d1a9ea6f) @@ -26,9 +26,12 @@ 3.8.1 - - 3.6.1 + + 4.4.0 + + 1.0.16 + 1.0.117 Index: Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs =================================================================== diff -u -r9339a780307cdb21ebe38cbd3aa8811e2c98d980 -r5c5d599c178c427f60fab3ae7690da47d1a9ea6f --- Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 9339a780307cdb21ebe38cbd3aa8811e2c98d980) +++ Riskeer/StabilityStoneCover/test/Riskeer.StabilityStoneCover.Integration.Test/StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs (.../StabilityStoneCoverWaveConditionsCalculationActivityIntegrationTest.cs) (revision 5c5d599c178c427f60fab3ae7690da47d1a9ea6f) @@ -26,8 +26,8 @@ using Core.Common.Base.Data; using Core.Common.Base.Service; using Core.Common.TestUtil; +using NSubstitute; using NUnit.Framework; -using Rhino.Mocks; using Riskeer.Common.Data.AssessmentSection; using Riskeer.Common.Data.DikeProfiles; using Riskeer.Common.Data.Hydraulics; @@ -96,9 +96,7 @@ new StabilityStoneCoverFailureMechanism(), assessmentSection); - var mockRepository = new MockRepository(); - var calculatorFactory = mockRepository.StrictMock(); - mockRepository.ReplayAll(); + var calculatorFactory = Substitute.For(); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { @@ -119,7 +117,7 @@ Assert.AreEqual(ActivityState.Failed, activity.State); } - mockRepository.VerifyAll(); + calculatorFactory.DidNotReceive().CreateWaveConditionsCosineCalculator(Arg.Any()); } [Test] @@ -136,14 +134,9 @@ RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); - var mockRepository = new MockRepository(); - var calculatorFactory = mockRepository.StrictMock(); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(null)) - .IgnoreArguments() - .Return(new TestWaveConditionsCosineCalculator()) - .Repeat - .Times(waterLevels.Length * 2); - mockRepository.ReplayAll(); + var calculatorFactory = Substitute.For(); + calculatorFactory.CreateWaveConditionsCosineCalculator(Arg.Any()) + .Returns(new TestWaveConditionsCosineCalculator()); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { @@ -163,7 +156,8 @@ } } - mockRepository.VerifyAll(); + calculatorFactory.Received(waterLevels.Length * 2) + .CreateWaveConditionsCosineCalculator(Arg.Any()); } [Test] @@ -184,19 +178,13 @@ stabilityStoneCoverFailureMechanism, assessmentSection); - var mockRepository = new MockRepository(); - var calculatorFactory = mockRepository.StrictMock(); + var calculatorFactory = Substitute.For(); var calculator = new TestWaveConditionsCosineCalculator(); RoundedDouble[] waterLevels = GetWaterLevels(calculation, assessmentSection).ToArray(); int nrOfCalculators = waterLevels.Length * 2; + calculatorFactory.CreateWaveConditionsCosineCalculator(Arg.Any()) + .Returns(calculator); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(null)) - .IgnoreArguments() - .Return(calculator) - .Repeat - .Times(nrOfCalculators); - mockRepository.ReplayAll(); - using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // Call @@ -246,7 +234,8 @@ } } - mockRepository.VerifyAll(); + calculatorFactory.Received(nrOfCalculators) + .CreateWaveConditionsCosineCalculator(Arg.Any()); } [Test] @@ -261,13 +250,10 @@ new StabilityStoneCoverFailureMechanism(), assessmentSection); - var mockRepository = new MockRepository(); - var calculatorFactory = mockRepository.StrictMock(); + var calculatorFactory = Substitute.For(); var calculator = new TestWaveConditionsCosineCalculator(); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(null)) - .IgnoreArguments() - .Return(calculator); - mockRepository.ReplayAll(); + calculatorFactory.CreateWaveConditionsCosineCalculator(Arg.Any()) + .Returns(calculator); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { @@ -302,7 +288,8 @@ Assert.AreEqual(ActivityState.Canceled, activity.State); } - mockRepository.VerifyAll(); + calculatorFactory.Received(1) + .CreateWaveConditionsCosineCalculator(Arg.Any()); } [Test] @@ -317,14 +304,9 @@ new StabilityStoneCoverFailureMechanism(), assessmentSection); - var mockRepository = new MockRepository(); - var calculatorFactory = mockRepository.StrictMock(); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(null)) - .IgnoreArguments() - .Return(new TestWaveConditionsCosineCalculator()) - .Repeat - .Times(4); - mockRepository.ReplayAll(); + var calculatorFactory = Substitute.For(); + calculatorFactory.CreateWaveConditionsCosineCalculator(Arg.Any()) + .Returns(new TestWaveConditionsCosineCalculator()); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { @@ -370,7 +352,8 @@ Assert.AreEqual(ActivityState.Canceled, activity.State); } - mockRepository.VerifyAll(); + calculatorFactory.Received(4) + .CreateWaveConditionsCosineCalculator(Arg.Any()); } [Test] @@ -385,12 +368,9 @@ new StabilityStoneCoverFailureMechanism(), assessmentSection); - var mockRepository = new MockRepository(); - var calculatorFactory = mockRepository.StrictMock(); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(null)) - .IgnoreArguments() - .Return(new TestWaveConditionsCosineCalculator()); - mockRepository.ReplayAll(); + var calculatorFactory = Substitute.For(); + calculatorFactory.CreateWaveConditionsCosineCalculator(Arg.Any()) + .Returns(new TestWaveConditionsCosineCalculator()); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { @@ -412,7 +392,8 @@ Assert.IsNull(calculation.Output); } - mockRepository.VerifyAll(); + calculatorFactory.Received(1) + .CreateWaveConditionsCosineCalculator(Arg.Any()); } [Test] @@ -427,14 +408,9 @@ new StabilityStoneCoverFailureMechanism(), assessmentSection); - var mockRepository = new MockRepository(); - var calculatorFactory = mockRepository.StrictMock(); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(null)) - .IgnoreArguments() - .Return(new TestWaveConditionsCosineCalculator()) - .Repeat - .Times(GetWaterLevels(calculation, assessmentSection).Count() * 2); - mockRepository.ReplayAll(); + var calculatorFactory = Substitute.For(); + calculatorFactory.CreateWaveConditionsCosineCalculator(Arg.Any()) + .Returns(new TestWaveConditionsCosineCalculator()); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { @@ -447,7 +423,8 @@ Assert.AreEqual(3, calculation.Output.BlocksOutput.Count()); } - mockRepository.VerifyAll(); + calculatorFactory.Received(GetWaterLevels(calculation, assessmentSection).Count() * 2) + .CreateWaveConditionsCosineCalculator(Arg.Any()); } [Test] @@ -466,18 +443,13 @@ new StabilityStoneCoverFailureMechanism(), assessmentSection); - var mockRepository = new MockRepository(); - var calculatorFactory = mockRepository.StrictMock(); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(null)) - .IgnoreArguments() - .Return(new TestWaveConditionsCosineCalculator + var calculatorFactory = Substitute.For(); + calculatorFactory.CreateWaveConditionsCosineCalculator(Arg.Any()) + .Returns(new TestWaveConditionsCosineCalculator { EndInFailure = endInFailure, LastErrorFileContent = lastErrorFileContent - }) - .Repeat - .Times(GetWaterLevels(calculation, assessmentSection).Count()); - mockRepository.ReplayAll(); + }); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { @@ -488,7 +460,8 @@ Assert.AreEqual(ActivityState.Failed, activity.State); } - mockRepository.VerifyAll(); + calculatorFactory.Received(GetWaterLevels(calculation, assessmentSection).Count()) + .CreateWaveConditionsCosineCalculator(Arg.Any()); } [Test] @@ -507,18 +480,13 @@ new StabilityStoneCoverFailureMechanism(), assessmentSection); - var mockRepository = new MockRepository(); - var calculatorFactory = mockRepository.StrictMock(); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(null)) - .IgnoreArguments() - .Return(new TestWaveConditionsCosineCalculator + var calculatorFactory = Substitute.For(); + calculatorFactory.CreateWaveConditionsCosineCalculator(Arg.Any()) + .Returns(new TestWaveConditionsCosineCalculator { EndInFailure = endInFailure, LastErrorFileContent = lastErrorFileContent - }) - .Repeat - .Times(GetWaterLevels(calculation, assessmentSection).Count()); - mockRepository.ReplayAll(); + }); using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { @@ -529,7 +497,8 @@ Assert.IsNull(calculation.Output); } - mockRepository.VerifyAll(); + calculatorFactory.Received(GetWaterLevels(calculation, assessmentSection).Count()) + .CreateWaveConditionsCosineCalculator(Arg.Any()); } [Test] @@ -549,21 +518,19 @@ new StabilityStoneCoverFailureMechanism(), assessmentSection); - var mockRepository = new MockRepository(); - var calculatorFactory = mockRepository.StrictMock(); - calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(Arg.Is.NotNull)) - .WhenCalled(invocation => + var calculatorFactory = Substitute.For(); + calculatorFactory.CreateWaveConditionsCosineCalculator(Arg.Any()) + .Returns(callInfo => { HydraRingCalculationSettingsTestHelper.AssertHydraRingCalculationSettings( HydraulicBoundaryCalculationSettingsFactory.CreateSettings( assessmentSection.HydraulicBoundaryData, hydraulicBoundaryLocation), - (HydraRingCalculationSettings) invocation.Arguments[0]); + (HydraRingCalculationSettings) callInfo[0]); + + return new TestWaveConditionsCosineCalculator(); }) - .Return(new TestWaveConditionsCosineCalculator()) - .Repeat - .Times(GetWaterLevels(calculation, assessmentSection).Count() * 2); - mockRepository.ReplayAll(); + ; using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { @@ -572,7 +539,8 @@ } // Assert - mockRepository.VerifyAll(); + calculatorFactory.Received(GetWaterLevels(calculation, assessmentSection).Count() * 2) + .CreateWaveConditionsCosineCalculator(Arg.Any()); } [Test] @@ -581,18 +549,14 @@ public void Finish_VariousCalculationEndStates_NotifiesObserversOfCalculation(bool endInFailure) { // Setup - var mockRepository = new MockRepository(); - var observer = mockRepository.StrictMock(); - observer.Expect(o => o.UpdateObserver()); + var observer = Substitute.For(); - var calculatorFactory = mockRepository.Stub(); - calculatorFactory.Stub(cf => cf.CreateWaveConditionsCosineCalculator(null)) - .IgnoreArguments() - .Return(new TestWaveConditionsCosineCalculator + var calculatorFactory = Substitute.For(); + calculatorFactory.CreateWaveConditionsCosineCalculator(Arg.Any()) + .Returns(new TestWaveConditionsCosineCalculator { EndInFailure = endInFailure }); - mockRepository.ReplayAll(); IAssessmentSection assessmentSection = CreateAssessmentSectionWithHydraulicBoundaryOutput(); @@ -614,7 +578,7 @@ activity.Finish(); // Assert - mockRepository.VerifyAll(); + observer.Received(1).UpdateObserver(); } private static StabilityStoneCoverWaveConditionsCalculation CreateValidCalculation(HydraulicBoundaryLocation hydraulicBoundaryLocation)