Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismCreateExtensionsTest.cs =================================================================== diff -u -rb13759ad077f9e2b4104de000b5bdeafa9abe358 -re5a3455795622291e3347d1f3a7f900d5bf62da7 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismCreateExtensionsTest.cs (.../MacroStabilityInwardsFailureMechanismCreateExtensionsTest.cs) (revision b13759ad077f9e2b4104de000b5bdeafa9abe358) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/MacroStabilityInwards/MacroStabilityInwardsFailureMechanismCreateExtensionsTest.cs (.../MacroStabilityInwardsFailureMechanismCreateExtensionsTest.cs) (revision e5a3455795622291e3347d1f3a7f900d5bf62da7) @@ -28,6 +28,7 @@ using Core.Common.Base.Geometry; using Core.Common.TestUtil; using NUnit.Framework; +using Ringtoets.Common.Data.Calculation; using Ringtoets.MacroStabilityInwards.Data; using Ringtoets.MacroStabilityInwards.Data.SoilProfile; using Ringtoets.MacroStabilityInwards.Data.TestUtil; @@ -149,6 +150,7 @@ FailureMechanismEntity entity = failureMechanism.Create(registry); // Assert + Assert.IsNotNull(entity); TestHelper.AssertAreEqualButNotSame(failureMechanism.InputComments.Body, entity.InputComments); TestHelper.AssertAreEqualButNotSame(failureMechanism.OutputComments.Body, entity.OutputComments); TestHelper.AssertAreEqualButNotSame(failureMechanism.NotRelevantComments.Body, entity.NotRelevantComments); @@ -228,6 +230,7 @@ FailureMechanismEntity entity = failureMechanism.Create(new PersistenceRegistry()); // Assert + Assert.IsNotNull(entity); CollectionAssert.IsEmpty(entity.FailureMechanismSectionEntities); } @@ -243,6 +246,7 @@ FailureMechanismEntity entity = failureMechanism.Create(new PersistenceRegistry()); // Assert + Assert.IsNotNull(entity); Assert.AreEqual(1, entity.FailureMechanismSectionEntities.Count); MacroStabilityInwardsFailureMechanismSectionResult sectionResult = failureMechanism.SectionResults.Single(); @@ -251,6 +255,42 @@ Assert.IsNull(resultEntity.LayerThree); } + [Test] + public void Create_WithCalculationGroup_ReturnFailureMechanismWithCalculationGroupEntities() + { + // Setup + var calculationGroup = new CalculationGroup("A", true); + var calculation = new MacroStabilityInwardsCalculationScenario(); + + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + failureMechanism.CalculationsGroup.Children.Add(calculationGroup); + failureMechanism.CalculationsGroup.Children.Add(calculation); + + // Call + FailureMechanismEntity entity = failureMechanism.Create(new PersistenceRegistry()); + + // Assert + Assert.IsNotNull(entity); + Assert.AreEqual(failureMechanism.CalculationsGroup.Name, entity.CalculationGroupEntity.Name); + Assert.AreEqual(0, entity.CalculationGroupEntity.Order); + + CalculationGroupEntity[] childGroupEntities = entity.CalculationGroupEntity.CalculationGroupEntity1 + .OrderBy(cge => cge.Order) + .ToArray(); + Assert.AreEqual(1, childGroupEntities.Length); + CalculationGroupEntity childGroupEntity = childGroupEntities[0]; + Assert.AreEqual(calculationGroup.Name, childGroupEntity.Name); + Assert.AreEqual(0, childGroupEntity.Order); + + MacroStabilityInwardsCalculationEntity[] calculationEntities = entity.CalculationGroupEntity.MacroStabilityInwardsCalculationEntities + .OrderBy(ce => ce.Order) + .ToArray(); + Assert.AreEqual(1, calculationEntities.Length); + MacroStabilityInwardsCalculationEntity calculationEntity = calculationEntities[0]; + Assert.AreEqual(calculation.Name, calculationEntity.Name); + Assert.AreEqual(1, calculationEntity.Order); + } + private static void AssertSurfaceLine(MacroStabilityInwardsSurfaceLine surfaceLine, SurfaceLineEntity entity) { Assert.AreEqual(surfaceLine.Name, entity.Name);