Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj
===================================================================
diff -u -r9eac9b010ce9939be032b160b4697151319ec8e5 -r9d77e28eef1dda363f4854ba2011a0107588d82c
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision 9eac9b010ce9939be032b160b4697151319ec8e5)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision 9d77e28eef1dda363f4854ba2011a0107588d82c)
@@ -179,6 +179,7 @@
+
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/PipingFailureMechanismMetaEntityReadExtensions.cs
===================================================================
diff -u -r9eac9b010ce9939be032b160b4697151319ec8e5 -r9d77e28eef1dda363f4854ba2011a0107588d82c
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/PipingFailureMechanismMetaEntityReadExtensions.cs (.../PipingFailureMechanismMetaEntityReadExtensions.cs) (revision 9eac9b010ce9939be032b160b4697151319ec8e5)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/PipingFailureMechanismMetaEntityReadExtensions.cs (.../PipingFailureMechanismMetaEntityReadExtensions.cs) (revision 9d77e28eef1dda363f4854ba2011a0107588d82c)
@@ -25,6 +25,10 @@
namespace Application.Ringtoets.Storage.Read
{
+ ///
+ /// This class defines extension methods for read operations for a based on the
+ /// .
+ ///
internal static class PipingFailureMechanismMetaEntityReadExtensions
{
///
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingFailureMechanismUpdateExtensions.cs
===================================================================
diff -u -rd86b1c6e4ebde1570bec162a9043bbb437de5d9c -r9d77e28eef1dda363f4854ba2011a0107588d82c
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingFailureMechanismUpdateExtensions.cs (.../PipingFailureMechanismUpdateExtensions.cs) (revision d86b1c6e4ebde1570bec162a9043bbb437de5d9c)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingFailureMechanismUpdateExtensions.cs (.../PipingFailureMechanismUpdateExtensions.cs) (revision 9d77e28eef1dda363f4854ba2011a0107588d82c)
@@ -62,6 +62,8 @@
FailureMechanismEntity entity = mechanism.GetCorrespondingFailureMechanismEntity(context);
entity.IsRelevant = Convert.ToByte(mechanism.IsRelevant);
+ mechanism.PipingProbabilityAssessmentInput.Update(registry, context);
+
UpdateSoilModels(mechanism, registry, context, entity);
UpdateSurfaceLines(mechanism, registry, context, entity);
mechanism.UpdateFailureMechanismSections(registry, entity, context);
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingProbabilityAssessmentInputUpdateExtensions.cs
===================================================================
diff -u
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingProbabilityAssessmentInputUpdateExtensions.cs (revision 0)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/PipingProbabilityAssessmentInputUpdateExtensions.cs (revision 9d77e28eef1dda363f4854ba2011a0107588d82c)
@@ -0,0 +1,80 @@
+// Copyright (C) Stichting Deltares 2016. 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.Linq;
+using Application.Ringtoets.Storage.Create;
+using Application.Ringtoets.Storage.DbContext;
+using Application.Ringtoets.Storage.Exceptions;
+using Application.Ringtoets.Storage.Properties;
+using Ringtoets.Piping.Data;
+
+namespace Application.Ringtoets.Storage.Update
+{
+ ///
+ /// Extension methods for related to updating a .
+ ///
+ internal static class PipingProbabilityAssessmentInputUpdateExtensions
+ {
+ ///
+ /// Updates a in the database based on the information of the
+ /// .
+ ///
+ /// The piping probability assessment input to update the database entity for.
+ /// The object keeping track of update operations.
+ /// The context to obtain the existing entity from.
+ /// Thrown when either:
+ ///
+ /// - is null
+ /// - is null
+ ///
+ /// When
+ /// does not have a corresponding entity in .
+ internal static void Update(this PipingProbabilityAssessmentInput probabilityAssessmentInput, PersistenceRegistry registry, IRingtoetsEntities context)
+ {
+ if (context == null)
+ {
+ throw new ArgumentNullException("context");
+ }
+ if (registry == null)
+ {
+ throw new ArgumentNullException("registry");
+ }
+
+ PipingFailureMechanismMetaEntity entity = probabilityAssessmentInput.GetCorrespondingPipingFailureMechanismMetaEntity(context);
+ entity.A = Convert.ToDecimal(probabilityAssessmentInput.A);
+
+ registry.Register(entity, probabilityAssessmentInput);
+ }
+
+ private static PipingFailureMechanismMetaEntity GetCorrespondingPipingFailureMechanismMetaEntity(this PipingProbabilityAssessmentInput model, IRingtoetsEntities context)
+ {
+ try
+ {
+ return context.PipingFailureMechanismMetaEntities.Single(pfmme => pfmme.PipingFailureMechanismMetaEntityId == model.StorageId);
+ }
+ catch (InvalidOperationException exception)
+ {
+ throw new EntityNotFoundException(string.Format(Resources.Error_Entity_Not_Found_0_1, typeof(PipingFailureMechanismMetaEntity).Name, model.StorageId), exception);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj
===================================================================
diff -u -r9eac9b010ce9939be032b160b4697151319ec8e5 -r9d77e28eef1dda363f4854ba2011a0107588d82c
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision 9eac9b010ce9939be032b160b4697151319ec8e5)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision 9d77e28eef1dda363f4854ba2011a0107588d82c)
@@ -132,6 +132,7 @@
+
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs
===================================================================
diff -u -rbba617101367a21a38bf41ad520662058b9012af -r9d77e28eef1dda363f4854ba2011a0107588d82c
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision bba617101367a21a38bf41ad520662058b9012af)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 9d77e28eef1dda363f4854ba2011a0107588d82c)
@@ -289,11 +289,17 @@
private void AssertPipingFailureMechanism(PipingFailureMechanism expectedPipingFailureMechanism, PipingFailureMechanism actualPipingFailureMechanism)
{
+ AssertProbabilityAssesmentInput(expectedPipingFailureMechanism.PipingProbabilityAssessmentInput, actualPipingFailureMechanism.PipingProbabilityAssessmentInput);
AssertStochasticSoilModels(expectedPipingFailureMechanism.StochasticSoilModels, actualPipingFailureMechanism.StochasticSoilModels);
AssertSurfaceLines(expectedPipingFailureMechanism.SurfaceLines, actualPipingFailureMechanism.SurfaceLines);
AssertCalculationGroup(expectedPipingFailureMechanism.CalculationsGroup, actualPipingFailureMechanism.CalculationsGroup);
}
+ private void AssertProbabilityAssesmentInput(PipingProbabilityAssessmentInput expectedModel, PipingProbabilityAssessmentInput actualModel)
+ {
+ Assert.AreEqual(expectedModel.A, actualModel.A);
+ }
+
private void AssertStochasticSoilModels(ObservableList expectedModels, ObservableList actualModels)
{
// Precondition:
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/AssessmentSectionUpdateExtensionsTest.cs
===================================================================
diff -u -rea14c73fc9ac706d48a5af7125bb570a5d07dd28 -r9d77e28eef1dda363f4854ba2011a0107588d82c
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/AssessmentSectionUpdateExtensionsTest.cs (.../AssessmentSectionUpdateExtensionsTest.cs) (revision ea14c73fc9ac706d48a5af7125bb570a5d07dd28)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/AssessmentSectionUpdateExtensionsTest.cs (.../AssessmentSectionUpdateExtensionsTest.cs) (revision 9d77e28eef1dda363f4854ba2011a0107588d82c)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using Application.Ringtoets.Storage.Create;
@@ -157,6 +158,11 @@
{
CalculationGroupEntityId = section.PipingFailureMechanism.CalculationsGroup.StorageId
});
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = section.PipingFailureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = section.PipingFailureMechanism.StorageId
+ });
FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities);
// Call
@@ -201,6 +207,11 @@
{
CalculationGroupEntityId = section.PipingFailureMechanism.CalculationsGroup.StorageId
});
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = section.PipingFailureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = section.PipingFailureMechanism.StorageId
+ });
FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities);
// Call
@@ -246,6 +257,11 @@
{
CalculationGroupEntityId = section.PipingFailureMechanism.CalculationsGroup.StorageId
});
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = section.PipingFailureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = section.PipingFailureMechanism.StorageId
+ });
ringtoetsEntities.ReferenceLinePointEntities.Add(referenceLinePointEntity);
FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities);
@@ -290,6 +306,11 @@
{
CalculationGroupEntityId = section.PipingFailureMechanism.CalculationsGroup.StorageId
});
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = section.PipingFailureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = section.PipingFailureMechanism.StorageId
+ });
FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities);
// Call
@@ -348,6 +369,11 @@
{
CalculationGroupEntityId = section.PipingFailureMechanism.CalculationsGroup.StorageId
});
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = section.PipingFailureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = section.PipingFailureMechanism.StorageId
+ });
FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities);
ringtoetsEntities.HydraulicLocationEntities.Add(hydraulicLocationEntity);
@@ -397,6 +423,11 @@
{
CalculationGroupEntityId = section.PipingFailureMechanism.CalculationsGroup.StorageId
});
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = section.PipingFailureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = section.PipingFailureMechanism.StorageId
+ });
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities);
@@ -443,6 +474,11 @@
{
CalculationGroupEntityId = section.PipingFailureMechanism.CalculationsGroup.StorageId
});
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = section.PipingFailureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = section.PipingFailureMechanism.StorageId
+ });
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
FillWithFailureMechanismEntities(ringtoetsEntities.FailureMechanismEntities);
@@ -513,6 +549,11 @@
{
CalculationGroupEntityId = section.PipingFailureMechanism.CalculationsGroup.StorageId
});
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = section.PipingFailureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = section.PipingFailureMechanism.StorageId
+ });
ringtoetsEntities.FailureMechanismEntities.Add(macrostabilityInwardsEntity);
ringtoetsEntities.FailureMechanismEntities.Add(macrostabilityOutwardsEntity);
@@ -583,6 +624,10 @@
CalculationsGroup =
{
StorageId = 1
+ },
+ PipingProbabilityAssessmentInput =
+ {
+ StorageId = 1
}
},
GrassCoverErosionInwards =
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingFailureMechanismUpdateExtensionsTest.cs
===================================================================
diff -u -r3fa8664290181eedfdcefbe87f32aa7539d748e3 -r9d77e28eef1dda363f4854ba2011a0107588d82c
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingFailureMechanismUpdateExtensionsTest.cs (.../PipingFailureMechanismUpdateExtensionsTest.cs) (revision 3fa8664290181eedfdcefbe87f32aa7539d748e3)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingFailureMechanismUpdateExtensionsTest.cs (.../PipingFailureMechanismUpdateExtensionsTest.cs) (revision 9d77e28eef1dda363f4854ba2011a0107588d82c)
@@ -158,6 +158,11 @@
};
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
ringtoetsEntities.CalculationGroupEntities.Add(rootCalculationGroup);
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = failureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = failureMechanism.StorageId
+ });
// Call
failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities);
@@ -204,6 +209,11 @@
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
ringtoetsEntities.CalculationGroupEntities.Add(rootCalculationGroupEntity);
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = failureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = failureMechanism.StorageId
+ });
// Call
failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities);
@@ -261,6 +271,11 @@
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
ringtoetsEntities.CalculationGroupEntities.Add(rootCalculationGroupEntity);
ringtoetsEntities.StochasticSoilModelEntities.Add(stochasticSoilModelEntity);
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = failureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = failureMechanism.StorageId
+ });
// Call
failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities);
@@ -305,6 +320,11 @@
};
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
ringtoetsEntities.CalculationGroupEntities.Add(rootCalculationGroupEntity);
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = failureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = failureMechanism.StorageId
+ });
// Call
failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities);
@@ -360,6 +380,11 @@
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
ringtoetsEntities.CalculationGroupEntities.Add(rootCalculationGroupEntity);
ringtoetsEntities.SurfaceLineEntities.Add(surfaceLineEntity);
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = failureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = failureMechanism.StorageId
+ });
// Call
failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities);
@@ -401,6 +426,11 @@
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
ringtoetsEntities.CalculationGroupEntities.Add(rootCalculationGroupEntity);
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = failureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = failureMechanism.StorageId
+ });
// Call
failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities);
@@ -456,6 +486,11 @@
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
ringtoetsEntities.CalculationGroupEntities.Add(rootCalculationGroupEntity);
ringtoetsEntities.FailureMechanismSectionEntities.Add(failureMechanismSectionEntity);
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = failureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = failureMechanism.StorageId
+ });
// Call
failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities);
@@ -503,6 +538,11 @@
};
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
ringtoetsEntities.CalculationGroupEntities.Add(rootCalculationGroupEntity);
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = failureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = failureMechanism.StorageId
+ });
var registry = new PersistenceRegistry();
@@ -567,6 +607,11 @@
ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity);
ringtoetsEntities.CalculationGroupEntities.Add(rootCalculationGroupEntity);
ringtoetsEntities.CalculationGroupEntities.Add(childGroupEntity);
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = failureMechanism.PipingProbabilityAssessmentInput.StorageId,
+ FailureMechanismEntityId = failureMechanism.StorageId
+ });
var registry = new PersistenceRegistry();
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingProbabilityAssessmentInputUpdateExtensionsTest.cs
===================================================================
diff -u
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingProbabilityAssessmentInputUpdateExtensionsTest.cs (revision 0)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/PipingProbabilityAssessmentInputUpdateExtensionsTest.cs (revision 9d77e28eef1dda363f4854ba2011a0107588d82c)
@@ -0,0 +1,156 @@
+// Copyright (C) Stichting Deltares 2016. 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 Application.Ringtoets.Storage.Create;
+using Application.Ringtoets.Storage.DbContext;
+using Application.Ringtoets.Storage.Exceptions;
+using Application.Ringtoets.Storage.TestUtil;
+using Application.Ringtoets.Storage.Update;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Piping.Data;
+
+namespace Application.Ringtoets.Storage.Test.Update
+{
+ [TestFixture]
+ public class PipingProbabilityAssessmentInputUpdateExtensionsTest
+ {
+ [Test]
+ public void Update_WithoutContext_ArgumentNullException()
+ {
+ // Setup
+ var probabilityAssessmentInput = new PipingProbabilityAssessmentInput();
+
+ // Call
+ TestDelegate test = () => probabilityAssessmentInput.Update(new PersistenceRegistry(), null);
+
+ // Assert
+ var paramName = Assert.Throws(test).ParamName;
+ Assert.AreEqual("context", paramName);
+ }
+
+ [Test]
+ public void Update_WithoutPersistenceRegistry_ArgumentNullException()
+ {
+ // Setup
+ var probabilityAssessmentInput = new PipingProbabilityAssessmentInput();
+
+ // Call
+ TestDelegate test = () =>
+ {
+ using (var ringtoetsEntities = new RingtoetsEntities())
+ {
+ probabilityAssessmentInput.Update(null, ringtoetsEntities);
+ }
+ };
+
+ // Assert
+ var paramName = Assert.Throws(test).ParamName;
+ Assert.AreEqual("registry", paramName);
+ }
+
+ [Test]
+ public void Update_ContextWithNoPipingProbabilityAssessmentInput_EntityNotFoundException()
+ {
+ // Setup
+ var probabilityAssessmentInput = new PipingProbabilityAssessmentInput();
+
+ // Call
+ TestDelegate test = () =>
+ {
+ using (var ringtoetsEntities = new RingtoetsEntities())
+ {
+ probabilityAssessmentInput.Update(new PersistenceRegistry(), ringtoetsEntities);
+ }
+ };
+
+ // Assert
+ var expectedMessage = String.Format("Het object 'PipingFailureMechanismMetaEntity' met id '{0}' is niet gevonden.", 0);
+ EntityNotFoundException exception = Assert.Throws(test);
+ Assert.AreEqual(expectedMessage, exception.Message);
+ }
+
+ [Test]
+ public void Update_ContextWithNoPipingFailureMechanismWithId_EntityNotFoundException()
+ {
+ // Setup
+ MockRepository mocks = new MockRepository();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(mocks);
+
+ mocks.ReplayAll();
+
+ var storageId = 1;
+ var probabilityAssessmentInput = new PipingProbabilityAssessmentInput
+ {
+ StorageId = storageId
+ };
+
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = 2
+ });
+
+ // Call
+ TestDelegate test = () => probabilityAssessmentInput.Update(new PersistenceRegistry(), ringtoetsEntities);
+
+ // Assert
+ var expectedMessage = String.Format("Het object 'PipingFailureMechanismMetaEntity' met id '{0}' is niet gevonden.", storageId);
+ EntityNotFoundException exception = Assert.Throws(test);
+ Assert.AreEqual(expectedMessage, exception.Message);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void Update_ContextWithPipingFailureMechanism_PropertiesUpdated()
+ {
+ // Setup
+ MockRepository mocks = new MockRepository();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(mocks);
+
+ mocks.ReplayAll();
+
+ double value = 0.64;
+
+ var probabilityAssessmentInput = new PipingProbabilityAssessmentInput
+ {
+ StorageId = 1,
+ A = value
+ };
+
+ var pipingFailureMechanismMetaEntity = new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = probabilityAssessmentInput.StorageId,
+ A = Convert.ToDecimal(0.3)
+ };
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(pipingFailureMechanismMetaEntity);
+
+ // Call
+ probabilityAssessmentInput.Update(new PersistenceRegistry(), ringtoetsEntities);
+
+ // Assert
+ Assert.AreEqual(Convert.ToDecimal(value), pipingFailureMechanismMetaEntity.A);
+
+ mocks.VerifyAll();
+ }
+ }
+}
\ No newline at end of file
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/ProjectUpdateExtensionsTest.cs
===================================================================
diff -u -rfe68c3f7cae5946b93d9e27eb532b176a6b26b84 -r9d77e28eef1dda363f4854ba2011a0107588d82c
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/ProjectUpdateExtensionsTest.cs (.../ProjectUpdateExtensionsTest.cs) (revision fe68c3f7cae5946b93d9e27eb532b176a6b26b84)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/ProjectUpdateExtensionsTest.cs (.../ProjectUpdateExtensionsTest.cs) (revision 9d77e28eef1dda363f4854ba2011a0107588d82c)
@@ -243,6 +243,10 @@
CalculationsGroup =
{
StorageId = 23
+ },
+ PipingProbabilityAssessmentInput =
+ {
+ StorageId = 2
}
},
GrassCoverErosionInwards =
@@ -322,6 +326,10 @@
{
FailureMechanismEntityId = 1
});
+ ringtoetsEntities.PipingFailureMechanismMetaEntities.Add(new PipingFailureMechanismMetaEntity
+ {
+ PipingFailureMechanismMetaEntityId = 2
+ });
// Call
project.Update(new PersistenceRegistry(), ringtoetsEntities);