Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismBaseUpdateExtensions.cs
===================================================================
diff -u -r219f8633c1b5b24f9e9aec3e903734fa94775f0e -r0b923cebc12005d3fec5e5b6830276f1a758928b
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismBaseUpdateExtensions.cs (.../FailureMechanismBaseUpdateExtensions.cs) (revision 219f8633c1b5b24f9e9aec3e903734fa94775f0e)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismBaseUpdateExtensions.cs (.../FailureMechanismBaseUpdateExtensions.cs) (revision 0b923cebc12005d3fec5e5b6830276f1a758928b)
@@ -77,6 +77,17 @@
}
}
+ ///
+ /// Gets the based on the .
+ ///
+ /// The failure mechanism corresponding with the failure mechanism entity.
+ /// The context to obtain the existing entity from.
+ /// The stored .
+ /// Thrown when either:
+ ///
+ /// - the couldn't be found in the
+ /// - more than one was found in the
+ ///
internal static FailureMechanismEntity GetSingleFailureMechanism(this IFailureMechanism mechanism, IRingtoetsEntities context)
{
try
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismBaseUpdateExtensionsTest.cs
===================================================================
diff -u -r71123d9c364c97a5ef2eec81acd1bf877a1297b0 -r0b923cebc12005d3fec5e5b6830276f1a758928b
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismBaseUpdateExtensionsTest.cs (.../FailureMechanismBaseUpdateExtensionsTest.cs) (revision 71123d9c364c97a5ef2eec81acd1bf877a1297b0)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismBaseUpdateExtensionsTest.cs (.../FailureMechanismBaseUpdateExtensionsTest.cs) (revision 0b923cebc12005d3fec5e5b6830276f1a758928b)
@@ -24,6 +24,7 @@
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 Core.Common.Base.Geometry;
@@ -165,6 +166,81 @@
Assert.AreEqual(testName, failureMechanismEntity.FailureMechanismSectionEntities.ElementAt(0).Name);
mocks.VerifyAll();
- }
+ }
+
+ [Test]
+ public void GetSingleFailureMechanism_ContextWithoutFailureMechanismEntityForId_ThrowsEntityNotFoundException()
+ {
+ // Setup
+ using (RingtoetsEntities ringtoetsEntities = new RingtoetsEntities())
+ {
+ IFailureMechanism failureMechanism = new TestFailureMechanism();
+
+ // Call
+ TestDelegate test = () => failureMechanism.GetSingleFailureMechanism(ringtoetsEntities);
+
+ // Assert
+ Assert.Throws(test);
+ }
+ }
+
+ [Test]
+ public void GetSingleFailureMechanism_ContextWithMultipleFailureMechanismEntityForId_ThrowsEntityNotFoundException()
+ {
+ // Setup
+ MockRepository mocks = new MockRepository();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mocks);
+ mocks.ReplayAll();
+
+ long testId = new Random(21).Next();
+ var expectedEntity = new FailureMechanismEntity
+ {
+ FailureMechanismEntityId = testId
+ };
+
+ ringtoetsEntities.FailureMechanismEntities.Add(expectedEntity);
+ ringtoetsEntities.FailureMechanismEntities.Add(expectedEntity);
+ IFailureMechanism failureMechanism = new TestFailureMechanism
+ {
+ StorageId = testId
+ };
+
+ // Call
+ TestDelegate test = () => failureMechanism.GetSingleFailureMechanism(ringtoetsEntities);
+
+ // Assert
+ Assert.Throws(test);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void GetSingleFailureMechanism_ContextWithFailureMechanismEntityForId_ReturnsEntityFromContext()
+ {
+ // Setup
+ MockRepository mocks = new MockRepository();
+ var ringtoetsEntities = RingtoetsEntitiesHelper.Create(mocks);
+ mocks.ReplayAll();
+
+ long testId = new Random(21).Next();
+ var expectedEntity = new FailureMechanismEntity
+ {
+ FailureMechanismEntityId = testId
+ };
+
+ ringtoetsEntities.FailureMechanismEntities.Add(expectedEntity);
+ IFailureMechanism failureMechanism = new TestFailureMechanism
+ {
+ StorageId = testId
+ };
+
+ // Call
+ FailureMechanismEntity entity = failureMechanism.GetSingleFailureMechanism(ringtoetsEntities);
+
+ // Assert
+ Assert.AreSame(expectedEntity, entity);
+
+ mocks.VerifyAll();
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PipingGuiPluginTest.cs
===================================================================
diff -u -ra61d9a646a09ddee65775c179bba12c40003cf84 -r0b923cebc12005d3fec5e5b6830276f1a758928b
--- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PipingGuiPluginTest.cs (.../PipingGuiPluginTest.cs) (revision a61d9a646a09ddee65775c179bba12c40003cf84)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/PipingGuiPluginTest.cs (.../PipingGuiPluginTest.cs) (revision 0b923cebc12005d3fec5e5b6830276f1a758928b)
@@ -20,7 +20,6 @@
// All rights reserved.
using System;
-using System.Collections.Generic;
using System.Linq;
using Core.Common.Base.Plugin;
using Core.Common.Controls.TreeView;