Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj =================================================================== diff -u -rae6f0c6b534ca650e160ae6d9c0bc90369d25c68 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision ae6f0c6b534ca650e160ae6d9c0bc90369d25c68) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -55,7 +55,7 @@ - + @@ -163,9 +163,8 @@ - + - Fisheye: Tag 8c78853745e5865dad910b2d9050ac52585daa87 refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/Create/FailureMechanismBaseCreateExtensions.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/IFailureMechanismCreateExtensions.cs =================================================================== diff -u --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/IFailureMechanismCreateExtensions.cs (revision 0) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/IFailureMechanismCreateExtensions.cs (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -0,0 +1,89 @@ +// 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.DbContext; +using Ringtoets.Common.Data.FailureMechanism; + +namespace Application.Ringtoets.Storage.Create +{ + /// + /// Extension methods for related to creating a . + /// + internal static class IFailureMechanismCreateExtensions + { + /// + /// Creates a based on the information of the . + /// + /// The failure mechanism to create a database entity for. + /// The type of the failure mechanism that is being created. + /// The object keeping track of create operations. + /// A new . + /// Thrown when is null. + internal static FailureMechanismEntity Create(this IFailureMechanism mechanism, FailureMechanismType type, PersistenceRegistry registry) + { + if (registry == null) + { + throw new ArgumentNullException("registry"); + } + + FailureMechanismEntity entity = new FailureMechanismEntity + { + FailureMechanismType = (short)type, + IsRelevant = Convert.ToByte(mechanism.IsRelevant) + }; + + mechanism.AddEntitiesForFailureMechanismSections(registry, entity); + + registry.Register(entity, mechanism); + return entity; + } + + /// + /// Creates instances based on the information of the . + /// + /// The failure mechanism to create a database failure mechanism section entities for. + /// The object keeping track of create operations. + /// The to which to add the created entities. + /// Thrown when either: + /// + /// is null + /// is null + /// + /// + internal static void AddEntitiesForFailureMechanismSections(this IFailureMechanism mechanism, PersistenceRegistry registry, FailureMechanismEntity entity) + { + if (registry == null) + { + throw new ArgumentNullException("registry"); + } + if (entity == null) + { + throw new ArgumentNullException("entity"); + } + + foreach (var failureMechanismSection in mechanism.Sections) + { + entity.FailureMechanismSectionEntities.Add(failureMechanismSection.Create(registry)); + } + } + } +} \ No newline at end of file Fisheye: Tag 8c78853745e5865dad910b2d9050ac52585daa87 refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/Update/FailureMechanismBaseUpdateExtensions.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/IFailureMechanismUpdateExtensions.cs =================================================================== diff -u --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/IFailureMechanismUpdateExtensions.cs (revision 0) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/IFailureMechanismUpdateExtensions.cs (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -0,0 +1,134 @@ +// 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.Common.Data.FailureMechanism; + +namespace Application.Ringtoets.Storage.Update +{ + /// + /// Extension methods for related to updating a . + /// + internal static class IFailureMechanismUpdateExtensions + { + /// + /// Updates a in the database based on the information of the + /// . + /// + /// The mechanism 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 + /// + internal static void Update(this IFailureMechanism mechanism, PersistenceRegistry registry, IRingtoetsEntities context) + { + if (context == null) + { + throw new ArgumentNullException("context"); + } + if (registry == null) + { + throw new ArgumentNullException("registry"); + } + + FailureMechanismEntity entity = mechanism.GetCorrespondingFailureMechanismEntity(context); + entity.IsRelevant = Convert.ToByte(mechanism.IsRelevant); + + mechanism.UpdateFailureMechanismSections(registry, entity, context); + + registry.Register(entity, mechanism); + } + + /// + /// Updates instances of a + /// based on the sections defined on the . + /// + /// The failure mechanism to update the database failure mechanism section entities for. + /// The object keeping track of update operations. + /// The for which to update the assessment section entities. + /// The context to obtain the existing entities from. + /// Thrown when either: + /// + /// is null + /// is null + /// is null + /// + /// + internal static void UpdateFailureMechanismSections(this IFailureMechanism mechanism, PersistenceRegistry registry, FailureMechanismEntity entity, IRingtoetsEntities context) + { + if (registry == null) + { + throw new ArgumentNullException("registry"); + } + if (entity == null) + { + throw new ArgumentNullException("entity"); + } + if (context == null) + { + throw new ArgumentNullException("context"); + } + + foreach (var failureMechanismSection in mechanism.Sections) + { + if (failureMechanismSection.IsNew()) + { + entity.FailureMechanismSectionEntities.Add(failureMechanismSection.Create(registry)); + } + else + { + failureMechanismSection.Update(registry, context); + } + } + } + + /// + /// 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 GetCorrespondingFailureMechanismEntity(this IFailureMechanism mechanism, IRingtoetsEntities context) + { + try + { + return context.FailureMechanismEntities.Single(fme => fme.FailureMechanismEntityId == mechanism.StorageId); + } + catch (InvalidOperationException exception) + { + throw new EntityNotFoundException(string.Format(Resources.Error_Entity_Not_Found_0_1, typeof(FailureMechanismEntity).Name, mechanism.StorageId), exception); + } + } + } +} \ No newline at end of file Fisheye: Tag 8c78853745e5865dad910b2d9050ac52585daa87 refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/Update/StandAloneFailureMechanismUpdateExtensions.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj =================================================================== diff -u -rae6f0c6b534ca650e160ae6d9c0bc90369d25c68 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision ae6f0c6b534ca650e160ae6d9c0bc90369d25c68) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -84,7 +84,7 @@ - + @@ -121,7 +121,7 @@ - + @@ -130,7 +130,6 @@ - Fisheye: Tag 8c78853745e5865dad910b2d9050ac52585daa87 refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/FailureMechanismBaseCreateExtensionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/IFailureMechanismCreateExtensionsTest.cs =================================================================== diff -u --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/IFailureMechanismCreateExtensionsTest.cs (revision 0) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/IFailureMechanismCreateExtensionsTest.cs (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -0,0 +1,93 @@ +// 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 Core.Common.Base.Geometry; +using NUnit.Framework; +using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.Common.Data.TestUtil; + +namespace Application.Ringtoets.Storage.Test.Create +{ + [TestFixture] + public class IFailureMechanismCreateExtensionsTest + { + [Test] + public void CreateFailureMechanismSections_WithoutCollector_ThrowsArgumentNullException() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + + // Call + TestDelegate test = () => failureMechanism.AddEntitiesForFailureMechanismSections(null, new FailureMechanismEntity()); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("registry", paramName); + } + + [Test] + public void CreateFailureMechanismSections_WithoutEntity_ThrowsArgumentNullException() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + + // Call + TestDelegate test = () => failureMechanism.AddEntitiesForFailureMechanismSections(new PersistenceRegistry(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void CreateFailureMechanismSections_WithoutSections_EmptyFailureMechanismSectionEntities() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + var failureMechanismEntity = new FailureMechanismEntity(); + + // Call + failureMechanism.AddEntitiesForFailureMechanismSections(new PersistenceRegistry(), failureMechanismEntity); + + // Assert + Assert.IsEmpty(failureMechanismEntity.FailureMechanismSectionEntities); + } + + [Test] + public void CreateFailureMechanismSections_WithSections_FailureMechanismSectionEntitiesCreated() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + failureMechanism.AddSection(new FailureMechanismSection("", new [] { new Point2D(0,0) })); + var failureMechanismEntity = new FailureMechanismEntity(); + + // Call + failureMechanism.AddEntitiesForFailureMechanismSections(new PersistenceRegistry(), failureMechanismEntity); + + // Assert + Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); + } + + } +} \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs =================================================================== diff -u -r5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e -r8c78853745e5865dad910b2d9050ac52585daa87 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -35,6 +35,7 @@ using NUnit.Framework; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.HydraRing.Data; using Ringtoets.Integration.Data; using Ringtoets.Piping.Data; using Ringtoets.Piping.Primitives; @@ -205,80 +206,84 @@ } } - private void AssertProjectsAreEqual(Project firstProject, Project secondProject) + private void AssertProjectsAreEqual(Project expectedProject, Project actualProject) { - Assert.IsInstanceOf(firstProject); - Assert.IsInstanceOf(secondProject); - Assert.AreNotSame(firstProject, secondProject); + Assert.NotNull(expectedProject); + Assert.NotNull(actualProject); + Assert.AreNotSame(expectedProject, actualProject); - var firstProjectAssessmentSection = firstProject.Items.OfType().ToList(); - var secondProjectAssessmentSection = secondProject.Items.OfType().ToList(); - Assert.AreEqual(firstProjectAssessmentSection.Count, secondProjectAssessmentSection.Count); - for (var i = 0; i < firstProjectAssessmentSection.Count; i++) + var expectedProjectAssessmentSection = expectedProject.Items.OfType().ToArray(); + var actualProjectAssessmentSection = actualProject.Items.OfType().ToArray(); + Assert.AreEqual(expectedProjectAssessmentSection.Length, actualProjectAssessmentSection.Length); + for (var i = 0; i < expectedProjectAssessmentSection.Length; i++) { - Assert.AreEqual(firstProjectAssessmentSection[i].StorageId, secondProjectAssessmentSection[i].StorageId); - Assert.AreEqual(firstProjectAssessmentSection[i].Name, secondProjectAssessmentSection[i].Name); + Assert.AreEqual(expectedProjectAssessmentSection[i].StorageId, actualProjectAssessmentSection[i].StorageId); + Assert.AreEqual(expectedProjectAssessmentSection[i].Name, actualProjectAssessmentSection[i].Name); - AssertHydraulicBoundaryDatabase(firstProjectAssessmentSection[i], secondProjectAssessmentSection[i]); - AssertReferenceLine(firstProjectAssessmentSection[i], secondProjectAssessmentSection[i]); - AssertPipingFailureMechanism(firstProjectAssessmentSection[i].PipingFailureMechanism, secondProjectAssessmentSection[i].PipingFailureMechanism); + IAssessmentSection expectedAssessmentSection = expectedProjectAssessmentSection[i]; + IAssessmentSection actualAssessmentSection = actualProjectAssessmentSection[i]; + AssertHydraulicBoundaryDatabase(expectedAssessmentSection.HydraulicBoundaryDatabase, actualAssessmentSection.HydraulicBoundaryDatabase); + IAssessmentSection expectedProject1 = expectedProjectAssessmentSection[i]; + IAssessmentSection actualProject1 = actualProjectAssessmentSection[i]; + AssertReferenceLine(expectedProject1.ReferenceLine, actualProject1.ReferenceLine); + AssertPipingFailureMechanism(expectedProjectAssessmentSection[i].PipingFailureMechanism, actualProjectAssessmentSection[i].PipingFailureMechanism); - var firstProjectFailureMechanisms = firstProjectAssessmentSection[i].GetFailureMechanisms().ToArray(); - var secondProjectFailureMechanisms = secondProjectAssessmentSection[i].GetFailureMechanisms().ToArray(); - for (var fmi = 0; fmi < firstProjectFailureMechanisms.Length; fmi++) + var expectedProjectFailureMechanisms = expectedProjectAssessmentSection[i].GetFailureMechanisms().ToArray(); + var actualProjectFailureMechanisms = actualProjectAssessmentSection[i].GetFailureMechanisms().ToArray(); + for (var fmi = 0; fmi < expectedProjectFailureMechanisms.Length; fmi++) { - AssertFailureMechanism(firstProjectFailureMechanisms[fmi], secondProjectFailureMechanisms[fmi]); + AssertFailureMechanism(expectedProjectFailureMechanisms[fmi], actualProjectFailureMechanisms[fmi]); } } } - private void AssertFailureMechanism(IFailureMechanism firstProjectFailureMechanism, IFailureMechanism secondProjectFailureMechanism) + private void AssertFailureMechanism(IFailureMechanism expectedFailureMechanism, IFailureMechanism actualFailureMechanism) { - Assert.AreEqual(firstProjectFailureMechanism.Name, secondProjectFailureMechanism.Name); - Assert.AreEqual(firstProjectFailureMechanism.Code, secondProjectFailureMechanism.Code); - Assert.AreEqual(firstProjectFailureMechanism.IsRelevant, secondProjectFailureMechanism.IsRelevant); - AssertFailureMechanismSections(firstProjectFailureMechanism.Sections, secondProjectFailureMechanism.Sections); + Assert.AreEqual(expectedFailureMechanism.Name, actualFailureMechanism.Name); + Assert.AreEqual(expectedFailureMechanism.Code, actualFailureMechanism.Code); + Assert.AreEqual(expectedFailureMechanism.IsRelevant, actualFailureMechanism.IsRelevant); + AssertFailureMechanismSections(expectedFailureMechanism.Sections, actualFailureMechanism.Sections); } - private void AssertFailureMechanismSections(IEnumerable firstProjectSections, IEnumerable secondProjectSections) + private void AssertFailureMechanismSections(IEnumerable expectedSections, IEnumerable actualSections) { - var firstProjectSectionsArray = firstProjectSections.ToArray(); - var secondProjectSectionsArray = secondProjectSections.ToArray(); + var expectedSectionsArray = expectedSections.ToArray(); + var actualSectionsArray = actualSections.ToArray(); - Assert.AreEqual(firstProjectSectionsArray.Length, secondProjectSectionsArray.Length); + Assert.AreEqual(expectedSectionsArray.Length, actualSectionsArray.Length); - for (var i = 0; i < firstProjectSectionsArray.Length; i++) + for (var i = 0; i < expectedSectionsArray.Length; i++) { - Assert.AreEqual(firstProjectSectionsArray[i].Name, secondProjectSectionsArray[i].Name); - Assert.AreEqual(firstProjectSectionsArray[i].Points, secondProjectSectionsArray[i].Points); + Assert.AreEqual(expectedSectionsArray[i].Name, actualSectionsArray[i].Name); + Assert.AreEqual(expectedSectionsArray[i].Points, actualSectionsArray[i].Points); } } - private static void AssertHydraulicBoundaryDatabase(IAssessmentSection expectedProject, IAssessmentSection project) + private static void AssertHydraulicBoundaryDatabase(HydraulicBoundaryDatabase expectedBoundaryDatabase, HydraulicBoundaryDatabase actualBoundaryDatabase) { - Assert.IsNotNull(expectedProject.HydraulicBoundaryDatabase); - Assert.AreEqual(expectedProject.HydraulicBoundaryDatabase.Version, project.HydraulicBoundaryDatabase.Version); - Assert.AreEqual(expectedProject.HydraulicBoundaryDatabase.FilePath, project.HydraulicBoundaryDatabase.FilePath); - Assert.AreEqual(expectedProject.HydraulicBoundaryDatabase.Locations.Count, project.HydraulicBoundaryDatabase.Locations.Count); + Assert.IsNotNull(expectedBoundaryDatabase); + Assert.AreEqual(expectedBoundaryDatabase.Version, actualBoundaryDatabase.Version); + Assert.AreEqual(expectedBoundaryDatabase.FilePath, actualBoundaryDatabase.FilePath); + Assert.AreEqual(expectedBoundaryDatabase.Locations.Count, actualBoundaryDatabase.Locations.Count); - for (int i = 0; i < expectedProject.HydraulicBoundaryDatabase.Locations.Count; i++) + for (int i = 0; i < expectedBoundaryDatabase.Locations.Count; i++) { - Assert.AreEqual(expectedProject.HydraulicBoundaryDatabase.Locations[i].Id, project.HydraulicBoundaryDatabase.Locations[i].Id); - Assert.AreEqual(expectedProject.HydraulicBoundaryDatabase.Locations[i].Name, project.HydraulicBoundaryDatabase.Locations[i].Name); - Assert.AreEqual(expectedProject.HydraulicBoundaryDatabase.Locations[i].DesignWaterLevel, project.HydraulicBoundaryDatabase.Locations[i].DesignWaterLevel); - Assert.AreEqual(expectedProject.HydraulicBoundaryDatabase.Locations[i].StorageId, project.HydraulicBoundaryDatabase.Locations[i].StorageId); - Assert.AreEqual(expectedProject.HydraulicBoundaryDatabase.Locations[i].Location, project.HydraulicBoundaryDatabase.Locations[i].Location); + Assert.AreEqual(expectedBoundaryDatabase.Locations[i].Id, actualBoundaryDatabase.Locations[i].Id); + Assert.AreEqual(expectedBoundaryDatabase.Locations[i].Name, actualBoundaryDatabase.Locations[i].Name); + Assert.AreEqual(expectedBoundaryDatabase.Locations[i].DesignWaterLevel, actualBoundaryDatabase.Locations[i].DesignWaterLevel); + Assert.AreEqual(expectedBoundaryDatabase.Locations[i].StorageId, actualBoundaryDatabase.Locations[i].StorageId); + Assert.AreEqual(expectedBoundaryDatabase.Locations[i].Location, actualBoundaryDatabase.Locations[i].Location); } } - private static void AssertReferenceLine(IAssessmentSection expectedProject, IAssessmentSection project) + private static void AssertReferenceLine(ReferenceLine expectedReferenceLine, ReferenceLine actualReferenceLine) { - Assert.IsNotNull(expectedProject.ReferenceLine); + Assert.IsNotNull(expectedReferenceLine); - for (int i = 0; i < expectedProject.ReferenceLine.Points.Count(); i++) + for (int i = 0; i < expectedReferenceLine.Points.Count(); i++) { - var expectedPoint = expectedProject.ReferenceLine.Points.ElementAt(i); - var resultingPoint = project.ReferenceLine.Points.ElementAt(i); + var expectedPoint = expectedReferenceLine.Points.ElementAt(i); + var resultingPoint = actualReferenceLine.Points.ElementAt(i); Assert.AreEqual(expectedPoint.X, resultingPoint.X); Assert.AreEqual(expectedPoint.Y, resultingPoint.Y); } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityTest.cs =================================================================== diff -u -rae6f0c6b534ca650e160ae6d9c0bc90369d25c68 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityTest.cs (.../AssessmentSectionEntityTest.cs) (revision ae6f0c6b534ca650e160ae6d9c0bc90369d25c68) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/AssessmentSectionEntityTest.cs (.../AssessmentSectionEntityTest.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -325,11 +325,11 @@ }; } - private static void AssertFailureMechanismEqual(bool isRelevant, int entityId, int sectionCount, IFailureMechanism failureMechanism) + private static void AssertFailureMechanismEqual(bool expectedIsRelevant, int expectedEntityId, int expectedSectionCount, IFailureMechanism failureMechanism) { - Assert.AreEqual(entityId, failureMechanism.StorageId); - Assert.AreEqual(isRelevant, failureMechanism.IsRelevant); - Assert.AreEqual(sectionCount, failureMechanism.Sections.Count()); + Assert.AreEqual(expectedEntityId, failureMechanism.StorageId); + Assert.AreEqual(expectedIsRelevant, failureMechanism.IsRelevant); + Assert.AreEqual(expectedSectionCount, failureMechanism.Sections.Count()); } private static FailureMechanismSectionEntity[] CreateFailureMechanismSectionEntities() Fisheye: Tag 8c78853745e5865dad910b2d9050ac52585daa87 refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/FailureMechanismBaseUpdateExtensionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/IFailureMechanismUpdateExtensionsTest.cs =================================================================== diff -u --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/IFailureMechanismUpdateExtensionsTest.cs (revision 0) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/IFailureMechanismUpdateExtensionsTest.cs (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -0,0 +1,440 @@ +// 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.TestUtil; +using Application.Ringtoets.Storage.Update; +using Core.Common.Base.Geometry; +using NUnit.Framework; +using Rhino.Mocks; +using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.Common.Data.TestUtil; + +namespace Application.Ringtoets.Storage.Test.Update +{ + [TestFixture] + public class IFailureMechanismUpdateExtensionsTest + { + [Test] + public void Update_WithoutContext_ArgumentNullException() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + + // Call + TestDelegate test = () => failureMechanism.Update(new PersistenceRegistry(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("context", paramName); + } + + [Test] + public void Update_WithoutPersistenceRegistry_ArgumentNullException() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + + // Call + TestDelegate test = () => + { + using (var ringtoetsEntities = new RingtoetsEntities()) + { + failureMechanism.Update(null, ringtoetsEntities); + } + }; + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("registry", paramName); + } + + [Test] + public void Update_ContextWithNoFailureMechanism_EntityNotFoundException() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + + // Call + TestDelegate test = () => + { + using (var ringtoetsEntities = new RingtoetsEntities()) + { + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); + } + }; + + // Assert + var expectedMessage = String.Format("Het object 'FailureMechanismEntity' met id '{0}' is niet gevonden.", 0); + EntityNotFoundException exception = Assert.Throws(test); + Assert.AreEqual(expectedMessage, exception.Message); + } + + [Test] + public void Update_ContextWithNoFailureMechanismWithId_EntityNotFoundException() + { + // Setup + MockRepository mocks = new MockRepository(); + var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(mocks); + + mocks.ReplayAll(); + + var storageId = 1; + var failureMechanism = new TestFailureMechanism() + { + StorageId = storageId + }; + + ringtoetsEntities.FailureMechanismEntities.Add(new FailureMechanismEntity + { + FailureMechanismEntityId = 2 + }); + + // Call + TestDelegate test = () => failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); + + // Assert + var expectedMessage = String.Format("Het object 'FailureMechanismEntity' met id '{0}' is niet gevonden.", storageId); + EntityNotFoundException exception = Assert.Throws(test); + Assert.AreEqual(expectedMessage, exception.Message); + + mocks.VerifyAll(); + } + + [Test] + public void Update_ContextWithFailureMechanism_PropertiesUpdated() + { + // Setup + MockRepository mocks = new MockRepository(); + var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(mocks); + + mocks.ReplayAll(); + + var failureMechanism = new TestFailureMechanism() + { + StorageId = 1, + IsRelevant = true + }; + + var failureMechanismEntity = new FailureMechanismEntity + { + FailureMechanismEntityId = 1, + IsRelevant = Convert.ToByte(false) + }; + + ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); + + // Call + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); + + // Assert + Assert.AreEqual(Convert.ToByte(true), failureMechanismEntity.IsRelevant); + + mocks.VerifyAll(); + } + + [Test] + public void Update_ContextWithNewFailureMechanismSections_FailureMechanismSectionsAdded() + { + // Setup + MockRepository mocks = new MockRepository(); + var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(mocks); + + mocks.ReplayAll(); + + var failureMechanism = new TestFailureMechanism() + { + StorageId = 1 + }; + failureMechanism.AddSection(new FailureMechanismSection("", new[] { new Point2D(0, 0) })); + + var failureMechanismEntity = new FailureMechanismEntity + { + FailureMechanismEntityId = 1, + }; + + ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); + + // Call + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); + + // Assert + Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); + + mocks.VerifyAll(); + } + + [Test] + public void Update_ContextWithUpdatedFailureMechanismSections_NoNewFailureMechanismSectionsAdded() + { + // Setup + MockRepository mocks = new MockRepository(); + var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(mocks); + + mocks.ReplayAll(); + + var failureMechanism = new TestFailureMechanism() + { + StorageId = 1 + }; + var testName = "testName"; + failureMechanism.AddSection(new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) + { + StorageId = 1 + }); + + var failureMechanismSectionEntity = new FailureMechanismSectionEntity + { + FailureMechanismSectionEntityId = 1, + }; + var failureMechanismEntity = new FailureMechanismEntity + { + FailureMechanismEntityId = 1, + FailureMechanismSectionEntities = + { + failureMechanismSectionEntity + } + }; + + ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); + ringtoetsEntities.FailureMechanismSectionEntities.Add(failureMechanismSectionEntity); + + // Call + failureMechanism.Update(new PersistenceRegistry(), ringtoetsEntities); + + // Assert + Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); + Assert.AreEqual(testName, failureMechanismEntity.FailureMechanismSectionEntities.ElementAt(0).Name); + + mocks.VerifyAll(); + } + + [Test] + public void UpdateFailureMechanismSections_WithoutPersistenceRegistry_ThrowsArgumentNullException() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + + // Call + TestDelegate test = () => + { + using (var ringtoetsEntities = new RingtoetsEntities()) + { + failureMechanism.UpdateFailureMechanismSections(null, new FailureMechanismEntity(), ringtoetsEntities); + } + }; + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("registry", paramName); + } + + [Test] + public void UpdateFailureMechanismSections_WithoutEntity_ThrowsArgumentNullException() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + + // Call + TestDelegate test = () => + { + using (var ringtoetsEntities = new RingtoetsEntities()) + { + failureMechanism.UpdateFailureMechanismSections(new PersistenceRegistry(), null, ringtoetsEntities); + } + }; + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("entity", paramName); + } + + [Test] + public void UpdateFailureMechanismSections_WithoutContext_ThrowsArgumentNullException() + { + // Setup + var failureMechanism = new TestFailureMechanism(); + + // Call + TestDelegate test = () => failureMechanism.UpdateFailureMechanismSections(new PersistenceRegistry(), new FailureMechanismEntity(), null); + + // Assert + var paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("context", paramName); + } + + [Test] + public void UpdateFailureMechanismSections_ContextWithNewFailureMechanismSections_FailureMechanismSectionsAdded() + { + // Setup + MockRepository mocks = new MockRepository(); + var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(mocks); + + mocks.ReplayAll(); + + var failureMechanism = new TestFailureMechanism + { + StorageId = 1 + }; + failureMechanism.AddSection(new FailureMechanismSection("", new [] { new Point2D(0,0) })); + + var failureMechanismEntity = new FailureMechanismEntity + { + FailureMechanismEntityId = 1, + }; + + ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); + + // Call + failureMechanism.UpdateFailureMechanismSections(new PersistenceRegistry(), failureMechanismEntity, ringtoetsEntities); + + // Assert + Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); + + mocks.VerifyAll(); + } + + [Test] + public void UpdateFailureMechanismSections_ContextWithUpdatedFailureMechanismSections_NoNewFailureMechanismSectionsAdded() + { + // Setup + MockRepository mocks = new MockRepository(); + var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(mocks); + + mocks.ReplayAll(); + + var failureMechanism = new TestFailureMechanism + { + StorageId = 1 + }; + var testName = "testName"; + failureMechanism.AddSection(new FailureMechanismSection(testName, new[] { new Point2D(0, 0) }) + { + StorageId = 1 + }); + + var failureMechanismSectionEntity = new FailureMechanismSectionEntity + { + FailureMechanismSectionEntityId = 1, + }; + var failureMechanismEntity = new FailureMechanismEntity + { + FailureMechanismEntityId = 1, + FailureMechanismSectionEntities = + { + failureMechanismSectionEntity + } + }; + + ringtoetsEntities.FailureMechanismEntities.Add(failureMechanismEntity); + ringtoetsEntities.FailureMechanismSectionEntities.Add(failureMechanismSectionEntity); + + // Call + failureMechanism.UpdateFailureMechanismSections(new PersistenceRegistry(), failureMechanismEntity, ringtoetsEntities); + + // Assert + Assert.AreEqual(1, failureMechanismEntity.FailureMechanismSectionEntities.Count); + 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.GetCorrespondingFailureMechanismEntity(ringtoetsEntities); + + // Assert + Assert.Throws(test); + } + } + + [Test] + public void GetSingleFailureMechanism_ContextWithMultipleFailureMechanismEntityForId_ThrowsEntityNotFoundException() + { + // Setup + MockRepository mocks = new MockRepository(); + var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(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.GetCorrespondingFailureMechanismEntity(ringtoetsEntities); + + // Assert + Assert.Throws(test); + + mocks.VerifyAll(); + } + + [Test] + public void GetSingleFailureMechanism_ContextWithFailureMechanismEntityForId_ReturnsEntityFromContext() + { + // Setup + MockRepository mocks = new MockRepository(); + var ringtoetsEntities = RingtoetsEntitiesHelper.CreateStub(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.GetCorrespondingFailureMechanismEntity(ringtoetsEntities); + + // Assert + Assert.AreSame(expectedEntity, entity); + + mocks.VerifyAll(); + } + } +} \ No newline at end of file Fisheye: Tag 8c78853745e5865dad910b2d9050ac52585daa87 refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/StandAloneFailureMechanismUpdateExtensionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsProjectHelper.cs =================================================================== diff -u -r5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e -r8c78853745e5865dad910b2d9050ac52585daa87 --- Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsProjectHelper.cs (.../RingtoetsProjectHelper.cs) (revision 5d46f6f7d54a327ba5fa13c6c8b1b10fb29be84e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsProjectHelper.cs (.../RingtoetsProjectHelper.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -83,24 +83,25 @@ } }; - AddSections(fullTestProject.Items.OfType().First().PipingFailureMechanism); - AddSections(fullTestProject.Items.OfType().First().GrassCoverErosionInwards); - AddSections(fullTestProject.Items.OfType().First().MacrostabilityInwards); - AddSections(fullTestProject.Items.OfType().First().MacrostabilityOutwards); - AddSections(fullTestProject.Items.OfType().First().Microstability); - AddSections(fullTestProject.Items.OfType().First().StabilityStoneCover); - AddSections(fullTestProject.Items.OfType().First().WaveImpactAsphaltCover); - AddSections(fullTestProject.Items.OfType().First().WaterPressureAsphaltCover); - AddSections(fullTestProject.Items.OfType().First().GrassCoverErosionOutwards); - AddSections(fullTestProject.Items.OfType().First().GrassCoverSlipOffOutwards); - AddSections(fullTestProject.Items.OfType().First().GrassCoverSlipOffInwards); - AddSections(fullTestProject.Items.OfType().First().HeightStructures); - AddSections(fullTestProject.Items.OfType().First().ClosingStructure); - AddSections(fullTestProject.Items.OfType().First().StrengthStabilityPointConstruction); - AddSections(fullTestProject.Items.OfType().First().StrengthStabilityLengthwiseConstruction); - AddSections(fullTestProject.Items.OfType().First().PipingStructure); - AddSections(fullTestProject.Items.OfType().First().DuneErosion); - AddSections(fullTestProject.Items.OfType().First().TechnicalInnovation); + var assessmentSection = fullTestProject.Items.OfType().First(); + AddSections(assessmentSection.PipingFailureMechanism); + AddSections(assessmentSection.GrassCoverErosionInwards); + AddSections(assessmentSection.MacrostabilityInwards); + AddSections(assessmentSection.MacrostabilityOutwards); + AddSections(assessmentSection.Microstability); + AddSections(assessmentSection.StabilityStoneCover); + AddSections(assessmentSection.WaveImpactAsphaltCover); + AddSections(assessmentSection.WaterPressureAsphaltCover); + AddSections(assessmentSection.GrassCoverErosionOutwards); + AddSections(assessmentSection.GrassCoverSlipOffOutwards); + AddSections(assessmentSection.GrassCoverSlipOffInwards); + AddSections(assessmentSection.HeightStructures); + AddSections(assessmentSection.ClosingStructure); + AddSections(assessmentSection.StrengthStabilityPointConstruction); + AddSections(assessmentSection.StrengthStabilityLengthwiseConstruction); + AddSections(assessmentSection.PipingStructure); + AddSections(assessmentSection.DuneErosion); + AddSections(assessmentSection.TechnicalInnovation); return fullTestProject; } Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/ClosingStructureFailureMechanism.cs =================================================================== diff -u -rb9d20365707e77623054f96f0c8b544e86658e67 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/ClosingStructureFailureMechanism.cs (.../ClosingStructureFailureMechanism.cs) (revision b9d20365707e77623054f96f0c8b544e86658e67) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/ClosingStructureFailureMechanism.cs (.../ClosingStructureFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,7 +28,8 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Closing Structure Inwards failure mechanism. /// public class ClosingStructureFailureMechanism : FailureMechanismBase, IHasSectionResults { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/DuneErosionFailureMechanism.cs =================================================================== diff -u -r41fac7fff0a505c08945108d795dcb877f10b816 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/DuneErosionFailureMechanism.cs (.../DuneErosionFailureMechanism.cs) (revision 41fac7fff0a505c08945108d795dcb877f10b816) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/DuneErosionFailureMechanism.cs (.../DuneErosionFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,7 +28,8 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Dune Erosion failure mechanism. /// public class DuneErosionFailureMechanism : FailureMechanismBase, IHasSectionResults { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverErosionOutwardsFailureMechanism.cs =================================================================== diff -u -r41fac7fff0a505c08945108d795dcb877f10b816 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverErosionOutwardsFailureMechanism.cs (.../GrassCoverErosionOutwardsFailureMechanism.cs) (revision 41fac7fff0a505c08945108d795dcb877f10b816) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverErosionOutwardsFailureMechanism.cs (.../GrassCoverErosionOutwardsFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,7 +28,8 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Grass Cover Erosion Outwards failure mechanism. /// public class GrassCoverErosionOutwardsFailureMechanism : FailureMechanismBase, IHasSectionResults { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffInwardsFailureMechanism.cs =================================================================== diff -u -r20bb156dfc129b1602ddbcddc73c0806807f19ab -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffInwardsFailureMechanism.cs (.../GrassCoverSlipOffInwardsFailureMechanism.cs) (revision 20bb156dfc129b1602ddbcddc73c0806807f19ab) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffInwardsFailureMechanism.cs (.../GrassCoverSlipOffInwardsFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,14 +28,15 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Grass Cover Slip Off Inwards failure mechanism. /// public class GrassCoverSlipOffInwardsFailureMechanism : FailureMechanismBase, IHasSectionResults { private readonly IList sectionResults; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// public GrassCoverSlipOffInwardsFailureMechanism() : base(Resources.GrassCoverSlipOffInwardsFailureMechanism_DisplayName, Resources.GrassCoverSlipOffInwardsFailureMechanism_Code) Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffOutwardsFailureMechanism.cs =================================================================== diff -u -r41fac7fff0a505c08945108d795dcb877f10b816 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffOutwardsFailureMechanism.cs (.../GrassCoverSlipOffOutwardsFailureMechanism.cs) (revision 41fac7fff0a505c08945108d795dcb877f10b816) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/GrassCoverSlipOffOutwardsFailureMechanism.cs (.../GrassCoverSlipOffOutwardsFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,7 +28,8 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Grass Cover Slip Off Outwards failure mechanism. /// public class GrassCoverSlipOffOutwardsFailureMechanism : FailureMechanismBase, IHasSectionResults { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MacroStabilityInwardsFailureMechanism.cs =================================================================== diff -u -rb9d20365707e77623054f96f0c8b544e86658e67 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MacroStabilityInwardsFailureMechanism.cs (.../MacroStabilityInwardsFailureMechanism.cs) (revision b9d20365707e77623054f96f0c8b544e86658e67) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MacroStabilityInwardsFailureMechanism.cs (.../MacroStabilityInwardsFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,7 +28,8 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Macrostability Inwards failure mechanism. /// public class MacrostabilityInwardsFailureMechanism : FailureMechanismBase, IHasSectionResults { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MacrostabilityOutwardsFailureMechanism.cs =================================================================== diff -u -rb9d20365707e77623054f96f0c8b544e86658e67 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MacrostabilityOutwardsFailureMechanism.cs (.../MacrostabilityOutwardsFailureMechanism.cs) (revision b9d20365707e77623054f96f0c8b544e86658e67) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MacrostabilityOutwardsFailureMechanism.cs (.../MacrostabilityOutwardsFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,14 +28,15 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Macrostability Outwards failure mechanism. /// public class MacrostabilityOutwardsFailureMechanism : FailureMechanismBase, IHasSectionResults { private readonly IList sectionResults; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// public MacrostabilityOutwardsFailureMechanism() : base(Resources.MacrostabilityOutwardFailureMechanism_DisplayName, Resources.MacrostabilityOutwardFailureMechanism_Code) Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MicrostabilityFailureMechanism.cs =================================================================== diff -u -r20bb156dfc129b1602ddbcddc73c0806807f19ab -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MicrostabilityFailureMechanism.cs (.../MicrostabilityFailureMechanism.cs) (revision 20bb156dfc129b1602ddbcddc73c0806807f19ab) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/MicrostabilityFailureMechanism.cs (.../MicrostabilityFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,14 +28,15 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Microstability failure mechanism. /// public class MicrostabilityFailureMechanism : FailureMechanismBase, IHasSectionResults { private readonly IList sectionResults; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// public MicrostabilityFailureMechanism() : base(Resources.MicrostabilityFailureMechanism_DisplayName, Resources.MicrostabilityFailureMechanism_Code) Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/PipingStructureFailureMechanism.cs =================================================================== diff -u -r41fac7fff0a505c08945108d795dcb877f10b816 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/PipingStructureFailureMechanism.cs (.../PipingStructureFailureMechanism.cs) (revision 41fac7fff0a505c08945108d795dcb877f10b816) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/PipingStructureFailureMechanism.cs (.../PipingStructureFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,7 +28,8 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Piping Structure failure mechanism. /// public class PipingStructureFailureMechanism : FailureMechanismBase, IHasSectionResults { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StabilityStoneCoverFailureMechanism.cs =================================================================== diff -u -rb9d20365707e77623054f96f0c8b544e86658e67 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StabilityStoneCoverFailureMechanism.cs (.../StabilityStoneCoverFailureMechanism.cs) (revision b9d20365707e77623054f96f0c8b544e86658e67) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StabilityStoneCoverFailureMechanism.cs (.../StabilityStoneCoverFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,7 +28,8 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Stability of Stone Cover failure mechanism. /// public class StabilityStoneCoverFailureMechanism : FailureMechanismBase, IHasSectionResults { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanism.cs =================================================================== diff -u -rb9d20365707e77623054f96f0c8b544e86658e67 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanism.cs (.../StrengthStabilityLengthwiseConstructionFailureMechanism.cs) (revision b9d20365707e77623054f96f0c8b544e86658e67) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StrengthStabilityLengthwiseConstructionFailureMechanism.cs (.../StrengthStabilityLengthwiseConstructionFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,14 +28,15 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Strength and Stability of Lengthwise Constructions failure mechanism. /// public class StrengthStabilityLengthwiseConstructionFailureMechanism : FailureMechanismBase, IHasSectionResults { private readonly IList sectionResults; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// public StrengthStabilityLengthwiseConstructionFailureMechanism() : base(Resources.StrengthStabilityLengthwiseConstructionFailureMechanism_DisplayName, Resources.StrengthStabilityLengthwiseConstructionFailureMechanism_Code) Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StrengthStabilityPointConstructionFailureMechanism.cs =================================================================== diff -u -rb9d20365707e77623054f96f0c8b544e86658e67 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StrengthStabilityPointConstructionFailureMechanism.cs (.../StrengthStabilityPointConstructionFailureMechanism.cs) (revision b9d20365707e77623054f96f0c8b544e86658e67) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/StrengthStabilityPointConstructionFailureMechanism.cs (.../StrengthStabilityPointConstructionFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,7 +28,8 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Strength and Stability of Point Constructions failure mechanism. /// public class StrengthStabilityPointConstructionFailureMechanism : FailureMechanismBase, IHasSectionResults { Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/TechnicalInnovationFailureMechanism.cs =================================================================== diff -u -r20bb156dfc129b1602ddbcddc73c0806807f19ab -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/TechnicalInnovationFailureMechanism.cs (.../TechnicalInnovationFailureMechanism.cs) (revision 20bb156dfc129b1602ddbcddc73c0806807f19ab) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/TechnicalInnovationFailureMechanism.cs (.../TechnicalInnovationFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,14 +28,15 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Technical Innovations failure mechanism. /// public class TechnicalInnovationFailureMechanism : FailureMechanismBase, IHasSectionResults { private readonly IList sectionResults; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// public TechnicalInnovationFailureMechanism() : base(Resources.TechnicalInnovationFailureMechanismFailureMechanism_DisplayName, Resources.TechnicalInnovationFailureMechanismFailureMechanism_Code) Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/WaterPressureAsphaltCoverFailureMechanism.cs =================================================================== diff -u -rb9d20365707e77623054f96f0c8b544e86658e67 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/WaterPressureAsphaltCoverFailureMechanism.cs (.../WaterPressureAsphaltCoverFailureMechanism.cs) (revision b9d20365707e77623054f96f0c8b544e86658e67) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/WaterPressureAsphaltCoverFailureMechanism.cs (.../WaterPressureAsphaltCoverFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,14 +28,15 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Water Pressure on Asphalt failure mechanism. /// public class WaterPressureAsphaltCoverFailureMechanism : FailureMechanismBase, IHasSectionResults { private readonly IList sectionResults; /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// public WaterPressureAsphaltCoverFailureMechanism() : base(Resources.WaterPressureAsphaltCoverFailureMechanism_DisplayName, Resources.WaterPressureAsphaltCoverFailureMechanism_Code) Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/WaveImpactAsphaltCoverFailureMechanism.cs =================================================================== diff -u -rb9d20365707e77623054f96f0c8b544e86658e67 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/WaveImpactAsphaltCoverFailureMechanism.cs (.../WaveImpactAsphaltCoverFailureMechanism.cs) (revision b9d20365707e77623054f96f0c8b544e86658e67) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/StandAlone/WaveImpactAsphaltCoverFailureMechanism.cs (.../WaveImpactAsphaltCoverFailureMechanism.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -28,7 +28,8 @@ namespace Ringtoets.Integration.Data.StandAlone { /// - /// Defines a stand alone failure mechanisms objects + /// Model containing input and output needed to perform different levels of the + /// Wave Impact on Asphalt failure mechanism. /// public class WaveImpactAsphaltCoverFailureMechanism : FailureMechanismBase, IHasSectionResults { Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/NumericFailureMechanismContext.cs =================================================================== diff -u -rb9d20365707e77623054f96f0c8b544e86658e67 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/NumericFailureMechanismContext.cs (.../NumericFailureMechanismContext.cs) (revision b9d20365707e77623054f96f0c8b544e86658e67) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/PresentationObjects/NumericFailureMechanismContext.cs (.../NumericFailureMechanismContext.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -33,7 +33,7 @@ public class NumericFailureMechanismContext : FailureMechanismContext { /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// /// The failure mechanism. /// The parent of . Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/StandAloneFailureMechanismContextProperties.cs =================================================================== diff -u -ra048dc4662f1eb83e4e8cd127790473f01470263 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/StandAloneFailureMechanismContextProperties.cs (.../StandAloneFailureMechanismContextProperties.cs) (revision a048dc4662f1eb83e4e8cd127790473f01470263) +++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/PropertyClasses/StandAloneFailureMechanismContextProperties.cs (.../StandAloneFailureMechanismContextProperties.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -33,7 +33,6 @@ /// public class StandAloneFailureMechanismContextProperties : ObjectProperties> { - #region General [PropertyOrder(1)] Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs =================================================================== diff -u -rb9d20365707e77623054f96f0c8b544e86658e67 -r8c78853745e5865dad910b2d9050ac52585daa87 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision b9d20365707e77623054f96f0c8b544e86658e67) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision 8c78853745e5865dad910b2d9050ac52585daa87) @@ -508,15 +508,15 @@ } else if (numericFailureMechanism != null) { - yield return new NumericFailureMechanismContext(numericFailureMechanism as IFailureMechanism, nodeData); + yield return new NumericFailureMechanismContext(failureMechanism, nodeData); } else if (probabilityFailureMechanism != null) { - yield return new ArbitraryProbabilityFailureMechanismContext(probabilityFailureMechanism as IFailureMechanism, nodeData); + yield return new ArbitraryProbabilityFailureMechanismContext(failureMechanism, nodeData); } else if (simpleFailureMechanism != null) { - yield return new SimpleFailureMechanismContext(simpleFailureMechanism as IFailureMechanism, nodeData); + yield return new SimpleFailureMechanismContext(failureMechanism, nodeData); } else {