Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HeightStructures/HeightStructuresFailureMechanismCreateExtensions.cs =================================================================== diff -u -rf25ee2320dd230d8d821689293c69de7c491b3b0 -r9c2ae58765574fa6fb31136c0361871f7f135c7a --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HeightStructures/HeightStructuresFailureMechanismCreateExtensions.cs (.../HeightStructuresFailureMechanismCreateExtensions.cs) (revision f25ee2320dd230d8d821689293c69de7c491b3b0) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HeightStructures/HeightStructuresFailureMechanismCreateExtensions.cs (.../HeightStructuresFailureMechanismCreateExtensions.cs) (revision 9c2ae58765574fa6fb31136c0361871f7f135c7a) @@ -46,6 +46,7 @@ AddEntitiesForForeshoreProfiles(mechanism.ForeshoreProfiles, entity, registry); AddEntitiesForHeightStructures(mechanism.HeightStructures, entity, registry); AddEntitiesForFailureMechanismMeta(mechanism.GeneralInput, entity); + entity.CalculationGroupEntity = mechanism.CalculationsGroup.Create(registry, 0); return entity; } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HeightStructures/HeightStructuresFailureMechanismCreateExtensionsTest.cs =================================================================== diff -u -re42bdf3dd379c46bab9212eb7b30f4754c9bc91c -r9c2ae58765574fa6fb31136c0361871f7f135c7a --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HeightStructures/HeightStructuresFailureMechanismCreateExtensionsTest.cs (.../HeightStructuresFailureMechanismCreateExtensionsTest.cs) (revision e42bdf3dd379c46bab9212eb7b30f4754c9bc91c) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HeightStructures/HeightStructuresFailureMechanismCreateExtensionsTest.cs (.../HeightStructuresFailureMechanismCreateExtensionsTest.cs) (revision 9c2ae58765574fa6fb31136c0361871f7f135c7a) @@ -26,6 +26,7 @@ using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.TestUtil; using NUnit.Framework; +using Ringtoets.Common.Data.Calculation; using Ringtoets.HeightStructures.Data; using Ringtoets.HeightStructures.Data.TestUtil; @@ -163,5 +164,37 @@ Assert.AreEqual(1, entity.HeightStructureEntities.Count); Assert.IsTrue(persistenceRegistry.Contains(structure)); } + + [Test] + public void Create_WithCalculationGroup_ReturnFailureMechanismEntityWithCalculationGroupEntities() + { + // Setup + var failureMechanism = new HeightStructuresFailureMechanism(); + failureMechanism.CalculationsGroup.Children.Add(new CalculationGroup("A", true)); + failureMechanism.CalculationsGroup.Children.Add(new CalculationGroup("B", true)); + + + var registry = new PersistenceRegistry(); + + // Call + FailureMechanismEntity entity = failureMechanism.Create(registry); + + // Assert + Assert.IsNotNull(entity); + Assert.AreEqual(failureMechanism.CalculationsGroup.Name, entity.CalculationGroupEntity.Name); + Assert.AreEqual(Convert.ToByte(failureMechanism.CalculationsGroup.IsNameEditable), entity.CalculationGroupEntity.IsEditable); + Assert.AreEqual(0, entity.CalculationGroupEntity.Order); + + CalculationGroupEntity[] childGroupEntities = entity.CalculationGroupEntity.CalculationGroupEntity1 + .OrderBy(cge => cge.Order) + .ToArray(); + Assert.AreEqual(2, childGroupEntities.Length); + Assert.AreEqual("A", childGroupEntities[0].Name); + Assert.AreEqual(1, childGroupEntities[0].IsEditable); + Assert.AreEqual(0, childGroupEntities[0].Order); + Assert.AreEqual("B", childGroupEntities[1].Name); + Assert.AreEqual(1, childGroupEntities[1].IsEditable); + Assert.AreEqual(1, childGroupEntities[1].Order); + } } } \ No newline at end of file