Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/CalculationGroupEntityReadExtentionsTest.cs =================================================================== diff -u -rb1c3b9019f8f74992a7f1a681d494ae836ce4976 -r0540405a7dbabf85dc02db30c79c3c58b0faeea6 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/CalculationGroupEntityReadExtentionsTest.cs (.../CalculationGroupEntityReadExtentionsTest.cs) (revision b1c3b9019f8f74992a7f1a681d494ae836ce4976) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/CalculationGroupEntityReadExtentionsTest.cs (.../CalculationGroupEntityReadExtentionsTest.cs) (revision 0540405a7dbabf85dc02db30c79c3c58b0faeea6) @@ -27,6 +27,7 @@ using Ringtoets.Common.Data.Calculation; using Ringtoets.GrassCoverErosionInwards.Data; using Ringtoets.Piping.Data; +using Ringtoets.StabilityStoneCover.Data; namespace Application.Ringtoets.Storage.Test.Read { @@ -670,5 +671,100 @@ Assert.IsTrue(rootChildGroup1Child2.IsNameEditable); CollectionAssert.IsEmpty(rootChildGroup1Child2.Children); } + + [Test] + public void ReadAsStabilityStoneCoverWaveConditionsCalculationGroup_EntityWithChildStabilityStoneCoverWaveConditionsCalculations_CreateCalculationGroupWithChildCalculations() + { + // Setup + var rootGroupEntity = new CalculationGroupEntity + { + Name = "A", + StabilityStoneCoverWaveConditionsCalculationEntities = + { + new StabilityStoneCoverWaveConditionsCalculationEntity + { + Order = 0, + Name = "1" + }, + new StabilityStoneCoverWaveConditionsCalculationEntity + { + Order = 1, + Name = "2" + } + } + }; + + var collector = new ReadConversionCollector(); + + // Call + var rootGroup = rootGroupEntity.ReadAsStabilityStoneCoverWaveConditionsCalculationGroup(collector); + + // Assert + ICalculationBase[] rootChildren = rootGroup.Children.ToArray(); + Assert.AreEqual(2, rootChildren.Length); + + var rootChildCalculation1 = (StabilityStoneCoverWaveConditionsCalculation)rootChildren[0]; + Assert.AreEqual("1", rootChildCalculation1.Name); + + var rootChildCalculation2 = (StabilityStoneCoverWaveConditionsCalculation)rootChildren[1]; + Assert.AreEqual("2", rootChildCalculation2.Name); + } + + [Test] + public void ReadAsStabilityStoneCoverWaveConditionsCalculationGroup_EntityWithChildStabilityStoneCoverWaveConditionsCalculationsAndGroups_CreateCalculationGroupWithChildCalculationsAndGroups() + { + // Setup + var rootGroupEntity = new CalculationGroupEntity + { + Name = "A", + StabilityStoneCoverWaveConditionsCalculationEntities = + { + new StabilityStoneCoverWaveConditionsCalculationEntity + { + Order = 0, + Name = "calculation1" + }, + new StabilityStoneCoverWaveConditionsCalculationEntity + { + Order = 2, + Name = "calculation2" + } + }, + CalculationGroupEntity1 = + { + new CalculationGroupEntity + { + Order = 1, + Name = "group1" + }, + new CalculationGroupEntity + { + Order = 3, + Name = "group2" + } + } + }; + + var collector = new ReadConversionCollector(); + + // Call + var rootGroup = rootGroupEntity.ReadAsStabilityStoneCoverWaveConditionsCalculationGroup(collector); + + // Assert + ICalculationBase[] rootChildren = rootGroup.Children.ToArray(); + Assert.AreEqual(4, rootChildren.Length); + + var rootChildCalculation1 = (StabilityStoneCoverWaveConditionsCalculation)rootChildren[0]; + Assert.AreEqual("calculation1", rootChildCalculation1.Name); + + var rootChildGroup1 = (CalculationGroup)rootChildren[1]; + Assert.AreEqual("group1", rootChildGroup1.Name); + + var rootChildCalculation2 = (StabilityStoneCoverWaveConditionsCalculation)rootChildren[2]; + Assert.AreEqual("calculation2", rootChildCalculation2.Name); + + var rootChildGroup2 = (CalculationGroup)rootChildren[3]; + Assert.AreEqual("group2", rootChildGroup2.Name); + } } } \ No newline at end of file