Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationCalculationCreateExtensionsTest.cs =================================================================== diff -u -r8aca9e7a0c1324719d2b609a05df4739e6c095a9 -r06b82f3137d117242ecf5f69bded51c103216c0a --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationCalculationCreateExtensionsTest.cs (.../HydraulicBoundaryLocationCalculationCreateExtensionsTest.cs) (revision 8aca9e7a0c1324719d2b609a05df4739e6c095a9) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationCalculationCreateExtensionsTest.cs (.../HydraulicBoundaryLocationCalculationCreateExtensionsTest.cs) (revision 06b82f3137d117242ecf5f69bded51c103216c0a) @@ -34,10 +34,24 @@ public class HydraulicBoundaryLocationCalculationCreateExtensionsTest { [Test] + public void Create_RegistryNull_ThrowsArgumentNullException() + { + // Setup + var calculation = new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()); + + // Call + TestDelegate call = () => calculation.Create(null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("registry", exception.ParamName); + } + + [Test] public void Create_CalculationNull_ThrowsArgumentNullException() { // Call - TestDelegate call = () => ((HydraulicBoundaryLocationCalculation) null).Create(); + TestDelegate call = () => ((HydraulicBoundaryLocationCalculation) null).Create(new PersistenceRegistry()); // Assert var exception = Assert.Throws(call); @@ -50,7 +64,9 @@ // Setup var random = new Random(33); bool shouldIllustrationPointsBeCalculated = random.NextBoolean(); - var calculation = new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()) + + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + var calculation = new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation) { InputParameters = { @@ -59,8 +75,12 @@ Output = null }; + var registry = new PersistenceRegistry(); + var hydraulicLocationEntity = new HydraulicLocationEntity(); + registry.Register(hydraulicLocationEntity, hydraulicBoundaryLocation); + // Call - HydraulicLocationCalculationEntity entity = calculation.Create(); + HydraulicLocationCalculationEntity entity = calculation.Create(registry); // Assert Assert.IsNotNull(entity); @@ -74,7 +94,9 @@ // Setup var random = new Random(33); bool shouldIllustrationPointsBeCalculated = random.NextBoolean(); - var calculation = new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation()) + + var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); + var calculation = new HydraulicBoundaryLocationCalculation(hydraulicBoundaryLocation) { InputParameters = { @@ -86,8 +108,12 @@ null) }; + var registry = new PersistenceRegistry(); + var hydraulicLocationEntity = new HydraulicLocationEntity(); + registry.Register(hydraulicLocationEntity, hydraulicBoundaryLocation); + // Call - HydraulicLocationCalculationEntity entity = calculation.Create(); + HydraulicLocationCalculationEntity entity = calculation.Create(registry); // Assert Assert.IsNotNull(entity); @@ -103,5 +129,25 @@ Assert.IsNull(outputEntity.GeneralResultSubMechanismIllustrationPointEntity); Assert.AreEqual(Convert.ToByte(expectedOutput.CalculationConvergence), outputEntity.CalculationConvergence); } + + [Test] + public void Create_CalculationWithAlreadyCreatedHydraulicBoundaryLocation_ReturnsEntityWithHydraulicBoundaryLocationEntity() + { + // Setup + var hydraulicLocation = new TestHydraulicBoundaryLocation(); + + var registry = new PersistenceRegistry(); + var hydraulicLocationEntity = new HydraulicLocationEntity(); + registry.Register(hydraulicLocationEntity, hydraulicLocation); + + var calculation = new HydraulicBoundaryLocationCalculation(hydraulicLocation); + + // Call + HydraulicLocationCalculationEntity entity = calculation.Create(registry); + + // Assert + Assert.IsNotNull(entity); + Assert.AreSame(hydraulicLocationEntity, entity.HydraulicLocationEntity); + } } } \ No newline at end of file