Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensions.cs =================================================================== diff -u -rb096784d1845696aba767ca12194673dd9347428 -r3f439dfd2f859eb9ce3adb058fea7e7f09fc63d5 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensions.cs (.../GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensions.cs) (revision b096784d1845696aba767ca12194673dd9347428) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensions.cs (.../GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensions.cs) (revision 3f439dfd2f859eb9ce3adb058fea7e7f09fc63d5) @@ -36,14 +36,27 @@ /// /// The result to create a database entity for. /// A new . + /// Thrown when is + /// null. internal static GrassCoverErosionOutwardsSectionResultEntity Create(this GrassCoverErosionOutwardsFailureMechanismSectionResult result) { - var sectionResultEntity = new GrassCoverErosionOutwardsSectionResultEntity + if (result == null) { - LayerOne = Convert.ToByte(result.AssessmentLayerOne) - }; + throw new ArgumentNullException(nameof(result)); + } - return sectionResultEntity; + return new GrassCoverErosionOutwardsSectionResultEntity + { + SimpleAssessmentResult = Convert.ToByte(result.SimpleAssessmentResult), + DetailedAssessmentResultForFactorizedSignalingNorm = Convert.ToByte(result.DetailedAssessmentResultForFactorizedSignalingNorm), + DetailedAssessmentResultForSignalingNorm = Convert.ToByte(result.DetailedAssessmentResultForSignalingNorm), + DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm), + DetailedAssessmentResultForLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForLowerLimitNorm), + DetailedAssessmentResultForFactorizedLowerLimitNorm = Convert.ToByte(result.DetailedAssessmentResultForFactorizedLowerLimitNorm), + TailorMadeAssessmentResult = Convert.ToByte(result.TailorMadeAssessmentResult), + UseManualAssemblyCategoryGroup = Convert.ToByte(result.UseManualAssemblyCategoryGroup), + ManualAssemblyCategoryGroup = Convert.ToByte(result.ManualAssemblyCategoryGroup) + }; } } } \ No newline at end of file Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsSectionResultEntityReadExtensions.cs =================================================================== diff -u -rb096784d1845696aba767ca12194673dd9347428 -r3f439dfd2f859eb9ce3adb058fea7e7f09fc63d5 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsSectionResultEntityReadExtensions.cs (.../GrassCoverErosionOutwardsSectionResultEntityReadExtensions.cs) (revision b096784d1845696aba767ca12194673dd9347428) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsSectionResultEntityReadExtensions.cs (.../GrassCoverErosionOutwardsSectionResultEntityReadExtensions.cs) (revision 3f439dfd2f859eb9ce3adb058fea7e7f09fc63d5) @@ -21,7 +21,8 @@ using System; using Application.Ringtoets.Storage.DbContext; -using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.AssemblyTool.Data; +using Ringtoets.Common.Primitives; using Ringtoets.GrassCoverErosionOutwards.Data; namespace Application.Ringtoets.Storage.Read.GrassCoverErosionOutwards @@ -36,18 +37,30 @@ /// Reads the and use the information to update a /// . /// - /// The to create for. + /// The to update the . /// The target of the read operation. - /// A new . - /// Thrown when is null. + /// Thrown when any parameter is null. internal static void Read(this GrassCoverErosionOutwardsSectionResultEntity entity, GrassCoverErosionOutwardsFailureMechanismSectionResult sectionResult) { + if (entity == null) + { + throw new ArgumentNullException(nameof(entity)); + } + if (sectionResult == null) { throw new ArgumentNullException(nameof(sectionResult)); } - sectionResult.AssessmentLayerOne = (AssessmentLayerOneState) entity.LayerOne; + sectionResult.SimpleAssessmentResult = (SimpleAssessmentResultType) entity.SimpleAssessmentResult; + sectionResult.DetailedAssessmentResultForFactorizedSignalingNorm = (DetailedAssessmentResultType) entity.DetailedAssessmentResultForFactorizedSignalingNorm; + sectionResult.DetailedAssessmentResultForSignalingNorm = (DetailedAssessmentResultType) entity.DetailedAssessmentResultForSignalingNorm; + sectionResult.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = (DetailedAssessmentResultType) entity.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm; + sectionResult.DetailedAssessmentResultForLowerLimitNorm = (DetailedAssessmentResultType) entity.DetailedAssessmentResultForLowerLimitNorm; + sectionResult.DetailedAssessmentResultForFactorizedLowerLimitNorm = (DetailedAssessmentResultType) entity.DetailedAssessmentResultForFactorizedLowerLimitNorm; + sectionResult.TailorMadeAssessmentResult = (FailureMechanismSectionAssemblyCategoryGroup) entity.TailorMadeAssessmentResult; + sectionResult.UseManualAssemblyCategoryGroup = Convert.ToBoolean(entity.UseManualAssemblyCategoryGroup); + sectionResult.ManualAssemblyCategoryGroup = (FailureMechanismSectionAssemblyCategoryGroup) entity.ManualAssemblyCategoryGroup; } } } \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensionsTest.cs =================================================================== diff -u -rb096784d1845696aba767ca12194673dd9347428 -r3f439dfd2f859eb9ce3adb058fea7e7f09fc63d5 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensionsTest.cs (.../GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensionsTest.cs) (revision b096784d1845696aba767ca12194673dd9347428) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensionsTest.cs (.../GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensionsTest.cs) (revision 3f439dfd2f859eb9ce3adb058fea7e7f09fc63d5) @@ -25,7 +25,8 @@ using Application.Ringtoets.Storage.TestUtil; using Core.Common.TestUtil; using NUnit.Framework; -using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.AssemblyTool.Data; +using Ringtoets.Common.Primitives; using Ringtoets.GrassCoverErosionOutwards.Data; namespace Application.Ringtoets.Storage.Test.Create.GrassCoverErosionOutwards @@ -34,21 +35,57 @@ public class GrassCoverErosionOutwardsFailureMechanismSectionResultCreateExtensionsTest { [Test] - public void Create_ValidData_ReturnsExpectedEntity() + public void Create_SectionResultNull_ThrowsArgumentNullException() { + // Call + TestDelegate call = () => ((GrassCoverErosionOutwardsFailureMechanismSectionResult) null).Create(); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("result", exception.ParamName); + } + + [Test] + public void Create_WithDifferentResults_ReturnsEntityWithExpectedResults() + { // Setup var random = new Random(21); + var simpleAssessmentResult = random.NextEnumValue(); + var detailedAssessmentResultForFactorizedSignalingNorm = random.NextEnumValue(); + var detailedAssessmentResultForSignalingNorm = random.NextEnumValue(); + var detailedAssessmentResultForMechanismSpecificLowerLimitNorm = random.NextEnumValue(); + var detailedAssessmentResultForLowerLimitNorm = random.NextEnumValue(); + var detailedAssessmentResultForFactorizedLowerLimitNorm = random.NextEnumValue(); + var tailorMadeAssessmentResult = random.NextEnumValue(); + bool useManualAssemblyCategoryGroup = random.NextBoolean(); + var manualAssemblyCategoryGroup = random.NextEnumValue(); var sectionResult = new GrassCoverErosionOutwardsFailureMechanismSectionResult(new TestFailureMechanismSection()) { - AssessmentLayerOne = random.NextEnumValue(), + SimpleAssessmentResult = simpleAssessmentResult, + DetailedAssessmentResultForFactorizedSignalingNorm = detailedAssessmentResultForFactorizedSignalingNorm, + DetailedAssessmentResultForSignalingNorm = detailedAssessmentResultForSignalingNorm, + DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = detailedAssessmentResultForMechanismSpecificLowerLimitNorm, + DetailedAssessmentResultForLowerLimitNorm = detailedAssessmentResultForLowerLimitNorm, + DetailedAssessmentResultForFactorizedLowerLimitNorm = detailedAssessmentResultForFactorizedLowerLimitNorm, + TailorMadeAssessmentResult = tailorMadeAssessmentResult, + UseManualAssemblyCategoryGroup = useManualAssemblyCategoryGroup, + ManualAssemblyCategoryGroup = manualAssemblyCategoryGroup }; // Call - GrassCoverErosionOutwardsSectionResultEntity result = sectionResult.Create(); + GrassCoverErosionOutwardsSectionResultEntity entity = sectionResult.Create(); // Assert - Assert.AreEqual(Convert.ToByte(sectionResult.AssessmentLayerOne), result.LayerOne); + Assert.AreEqual(Convert.ToByte(simpleAssessmentResult), entity.SimpleAssessmentResult); + Assert.AreEqual(Convert.ToByte(detailedAssessmentResultForFactorizedSignalingNorm), entity.DetailedAssessmentResultForFactorizedSignalingNorm); + Assert.AreEqual(Convert.ToByte(detailedAssessmentResultForSignalingNorm), entity.DetailedAssessmentResultForSignalingNorm); + Assert.AreEqual(Convert.ToByte(detailedAssessmentResultForMechanismSpecificLowerLimitNorm), entity.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm); + Assert.AreEqual(Convert.ToByte(detailedAssessmentResultForLowerLimitNorm), entity.DetailedAssessmentResultForLowerLimitNorm); + Assert.AreEqual(Convert.ToByte(detailedAssessmentResultForFactorizedLowerLimitNorm), entity.DetailedAssessmentResultForFactorizedLowerLimitNorm); + Assert.AreEqual(Convert.ToByte(tailorMadeAssessmentResult), entity.TailorMadeAssessmentResult); + Assert.AreEqual(Convert.ToByte(useManualAssemblyCategoryGroup), entity.UseManualAssemblyCategoryGroup); + Assert.AreEqual(Convert.ToByte(manualAssemblyCategoryGroup), entity.ManualAssemblyCategoryGroup); } } } \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsSectionResultEntityReadExtensionsTest.cs =================================================================== diff -u -rb096784d1845696aba767ca12194673dd9347428 -r3f439dfd2f859eb9ce3adb058fea7e7f09fc63d5 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsSectionResultEntityReadExtensionsTest.cs (.../GrassCoverErosionOutwardsSectionResultEntityReadExtensionsTest.cs) (revision b096784d1845696aba767ca12194673dd9347428) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionOutwards/GrassCoverErosionOutwardsSectionResultEntityReadExtensionsTest.cs (.../GrassCoverErosionOutwardsSectionResultEntityReadExtensionsTest.cs) (revision 3f439dfd2f859eb9ce3adb058fea7e7f09fc63d5) @@ -21,12 +21,12 @@ using System; using Application.Ringtoets.Storage.DbContext; -using Application.Ringtoets.Storage.Read; using Application.Ringtoets.Storage.Read.GrassCoverErosionOutwards; using Application.Ringtoets.Storage.TestUtil; using Core.Common.TestUtil; using NUnit.Framework; -using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.AssemblyTool.Data; +using Ringtoets.Common.Primitives; using Ringtoets.GrassCoverErosionOutwards.Data; namespace Application.Ringtoets.Storage.Test.Read.GrassCoverErosionOutwards @@ -35,8 +35,20 @@ public class GrassCoverErosionOutwardsSectionResultEntityReadExtensionsTest { [Test] - public void Read_SectionResultIsNull_ThrowArgumentNullException() + public void Read_EntityNull_ThrowsArgumentNullException() { + // Call + TestDelegate call = () => ((GrassCoverErosionOutwardsSectionResultEntity) null).Read( + new GrassCoverErosionOutwardsFailureMechanismSectionResult(new TestFailureMechanismSection())); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("entity", exception.ParamName); + } + + [Test] + public void Read_SectionResultNull_ThrowsArgumentNullException() + { // Setup var entity = new GrassCoverErosionOutwardsSectionResultEntity(); @@ -53,28 +65,44 @@ { // Setup var random = new Random(21); - var layerOne = random.NextEnumValue(); - var layerTwoA = random.NextEnumValue(); - double layerThree = random.NextDouble(); + var simpleAssessmentResult = random.NextEnumValue(); + var detailedAssessmentResultForFactorizedSignalingNorm = random.NextEnumValue(); + var detailedAssessmentResultForSignalingNorm = random.NextEnumValue(); + var detailedAssessmentResultForMechanismSpecificLowerLimitNorm = random.NextEnumValue(); + var detailedAssessmentResultForLowerLimitNorm = random.NextEnumValue(); + var detailedAssessmentResultForFactorizedLowerLimitNorm = random.NextEnumValue(); + var tailorMadeAssessmentResult = random.NextEnumValue(); + bool useManualAssemblyCategoryGroup = random.NextBoolean(); + var manualAssemblyCategoryGroup = random.NextEnumValue(); - var collector = new ReadConversionCollector(); - - var failureMechanismSectionEntity = new FailureMechanismSectionEntity(); - collector.Read(failureMechanismSectionEntity, new TestFailureMechanismSection()); var entity = new GrassCoverErosionOutwardsSectionResultEntity { - LayerThree = layerThree, - LayerTwoA = Convert.ToByte(layerTwoA), - LayerOne = Convert.ToByte(layerOne), - FailureMechanismSectionEntity = failureMechanismSectionEntity + FailureMechanismSectionEntity = new FailureMechanismSectionEntity(), + SimpleAssessmentResult = Convert.ToByte(simpleAssessmentResult), + DetailedAssessmentResultForFactorizedSignalingNorm = Convert.ToByte(detailedAssessmentResultForFactorizedSignalingNorm), + DetailedAssessmentResultForSignalingNorm = Convert.ToByte(detailedAssessmentResultForSignalingNorm), + DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = Convert.ToByte(detailedAssessmentResultForMechanismSpecificLowerLimitNorm), + DetailedAssessmentResultForLowerLimitNorm = Convert.ToByte(detailedAssessmentResultForLowerLimitNorm), + DetailedAssessmentResultForFactorizedLowerLimitNorm = Convert.ToByte(detailedAssessmentResultForFactorizedLowerLimitNorm), + TailorMadeAssessmentResult = Convert.ToByte(tailorMadeAssessmentResult), + UseManualAssemblyCategoryGroup = Convert.ToByte(useManualAssemblyCategoryGroup), + ManualAssemblyCategoryGroup = Convert.ToByte(manualAssemblyCategoryGroup) }; var sectionResult = new GrassCoverErosionOutwardsFailureMechanismSectionResult(new TestFailureMechanismSection()); // Call entity.Read(sectionResult); // Assert - Assert.AreEqual(layerOne, sectionResult.AssessmentLayerOne); + Assert.AreEqual(simpleAssessmentResult, sectionResult.SimpleAssessmentResult); + Assert.AreEqual(detailedAssessmentResultForFactorizedSignalingNorm, sectionResult.DetailedAssessmentResultForFactorizedSignalingNorm); + Assert.AreEqual(detailedAssessmentResultForSignalingNorm, sectionResult.DetailedAssessmentResultForSignalingNorm); + Assert.AreEqual(detailedAssessmentResultForMechanismSpecificLowerLimitNorm, sectionResult.DetailedAssessmentResultForMechanismSpecificLowerLimitNorm); + Assert.AreEqual(detailedAssessmentResultForLowerLimitNorm, sectionResult.DetailedAssessmentResultForLowerLimitNorm); + Assert.AreEqual(detailedAssessmentResultForFactorizedLowerLimitNorm, sectionResult.DetailedAssessmentResultForFactorizedLowerLimitNorm); + Assert.AreEqual(tailorMadeAssessmentResult, sectionResult.TailorMadeAssessmentResult); + Assert.AreEqual(useManualAssemblyCategoryGroup, sectionResult.UseManualAssemblyCategoryGroup); + Assert.AreEqual(manualAssemblyCategoryGroup, sectionResult.ManualAssemblyCategoryGroup); } } } \ No newline at end of file