Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismSectionResultCreateExtensions.cs =================================================================== diff -u -r3435e2709ffcbcccc59b0edb3799b328511bd066 -r8cde740cc9177b6146ad776f9505046b5ff7227b --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismSectionResultCreateExtensions.cs (.../StabilityStoneCoverFailureMechanismSectionResultCreateExtensions.cs) (revision 3435e2709ffcbcccc59b0edb3799b328511bd066) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismSectionResultCreateExtensions.cs (.../StabilityStoneCoverFailureMechanismSectionResultCreateExtensions.cs) (revision 8cde740cc9177b6146ad776f9505046b5ff7227b) @@ -36,14 +36,26 @@ /// /// The result to create a database entity for. /// A new . + /// Thrown when is null. internal static StabilityStoneCoverSectionResultEntity Create(this StabilityStoneCoverFailureMechanismSectionResult result) { - var sectionResultEntity = new StabilityStoneCoverSectionResultEntity + if (result == null) { - LayerOne = Convert.ToByte(result.AssessmentLayerOne) - }; + throw new ArgumentNullException(nameof(result)); + } - return sectionResultEntity; + return new StabilityStoneCoverSectionResultEntity + { + 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/StabilityStoneCover/StabilityStoneCoverSectionResultEntityReadExtensions.cs =================================================================== diff -u -r2c04d1e2979c33829feed0f0101879a24b0b9667 -r8cde740cc9177b6146ad776f9505046b5ff7227b --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/StabilityStoneCover/StabilityStoneCoverSectionResultEntityReadExtensions.cs (.../StabilityStoneCoverSectionResultEntityReadExtensions.cs) (revision 2c04d1e2979c33829feed0f0101879a24b0b9667) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/StabilityStoneCover/StabilityStoneCoverSectionResultEntityReadExtensions.cs (.../StabilityStoneCoverSectionResultEntityReadExtensions.cs) (revision 8cde740cc9177b6146ad776f9505046b5ff7227b) @@ -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.StabilityStoneCover.Data; namespace Application.Ringtoets.Storage.Read.StabilityStoneCover @@ -36,18 +37,30 @@ /// Reads the and use the information to update a /// . /// - /// The to create for. + /// The to update . /// The target of the read operation. - /// A new . - /// Thrown when is null. + /// Thrown when any parameter is null. internal static void Read(this StabilityStoneCoverSectionResultEntity entity, StabilityStoneCoverFailureMechanismSectionResult sectionResult) { + if (entity == null) + { + throw new ArgumentNullException(nameof(entity)); + } + if (sectionResult == null) { throw new ArgumentNullException(nameof(sectionResult)); } - sectionResult.AssessmentLayerOne = (AssessmentLayerOneState) entity.LayerOne; + sectionResult.SimpleAssessmentResult = (SimpleAssessmentValidityOnlyResultType) 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/StabilityStoneCover/StabilityStoneCoverFailureMechanismSectionResultCreateExtensionsTest.cs =================================================================== diff -u -r3435e2709ffcbcccc59b0edb3799b328511bd066 -r8cde740cc9177b6146ad776f9505046b5ff7227b --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismSectionResultCreateExtensionsTest.cs (.../StabilityStoneCoverFailureMechanismSectionResultCreateExtensionsTest.cs) (revision 3435e2709ffcbcccc59b0edb3799b328511bd066) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/StabilityStoneCover/StabilityStoneCoverFailureMechanismSectionResultCreateExtensionsTest.cs (.../StabilityStoneCoverFailureMechanismSectionResultCreateExtensionsTest.cs) (revision 8cde740cc9177b6146ad776f9505046b5ff7227b) @@ -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.StabilityStoneCover.Data; namespace Application.Ringtoets.Storage.Test.Create.StabilityStoneCover @@ -34,21 +35,57 @@ public class StabilityStoneCoverFailureMechanismSectionResultCreateExtensionsTest { [Test] - public void Create_ValidData_ReturnsEntityEqualData() + public void Create_SectionResultNull_ThrowsArgumentNullException() { + // Call + TestDelegate call = () => ((StabilityStoneCoverFailureMechanismSectionResult) 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 StabilityStoneCoverFailureMechanismSectionResult(new TestFailureMechanismSection()) { - AssessmentLayerOne = random.NextEnumValue(), + SimpleAssessmentResult = simpleAssessmentResult, + DetailedAssessmentResultForFactorizedSignalingNorm = detailedAssessmentResultForFactorizedSignalingNorm, + DetailedAssessmentResultForSignalingNorm = detailedAssessmentResultForSignalingNorm, + DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = detailedAssessmentResultForMechanismSpecificLowerLimitNorm, + DetailedAssessmentResultForLowerLimitNorm = detailedAssessmentResultForLowerLimitNorm, + DetailedAssessmentResultForFactorizedLowerLimitNorm = detailedAssessmentResultForFactorizedLowerLimitNorm, + TailorMadeAssessmentResult = tailorMadeAssessmentResult, + UseManualAssemblyCategoryGroup = useManualAssemblyCategoryGroup, + ManualAssemblyCategoryGroup = manualAssemblyCategoryGroup }; // Call - StabilityStoneCoverSectionResultEntity result = sectionResult.Create(); + StabilityStoneCoverSectionResultEntity 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/StabilityStoneCover/StabilityStoneCoverSectionResultEntityReadExtensionsTest.cs =================================================================== diff -u -r3435e2709ffcbcccc59b0edb3799b328511bd066 -r8cde740cc9177b6146ad776f9505046b5ff7227b --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/StabilityStoneCover/StabilityStoneCoverSectionResultEntityReadExtensionsTest.cs (.../StabilityStoneCoverSectionResultEntityReadExtensionsTest.cs) (revision 3435e2709ffcbcccc59b0edb3799b328511bd066) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/StabilityStoneCover/StabilityStoneCoverSectionResultEntityReadExtensionsTest.cs (.../StabilityStoneCoverSectionResultEntityReadExtensionsTest.cs) (revision 8cde740cc9177b6146ad776f9505046b5ff7227b) @@ -21,12 +21,12 @@ using System; using Application.Ringtoets.Storage.DbContext; -using Application.Ringtoets.Storage.Read; using Application.Ringtoets.Storage.Read.StabilityStoneCover; 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.StabilityStoneCover.Data; namespace Application.Ringtoets.Storage.Test.Read.StabilityStoneCover @@ -35,74 +35,75 @@ public class StabilityStoneCoverSectionResultEntityReadExtensionsTest { [Test] - public void Read_SectionResultIsNull_ThrowArgumentNullException() + public void Read_EntityNull_ThrowsArgumentNullException() { - // Setup - var entity = new StabilityStoneCoverSectionResultEntity(); - // Call - TestDelegate call = () => entity.Read(null); + TestDelegate call = () => ((StabilityStoneCoverSectionResultEntity) null).Read( + new StabilityStoneCoverFailureMechanismSectionResult(new TestFailureMechanismSection())); // Assert - string paramName = Assert.Throws(call).ParamName; - Assert.AreEqual("sectionResult", paramName); + var exception = Assert.Throws(call); + Assert.AreEqual("entity", exception.ParamName); } [Test] - public void Read_ParameterValues_SectionResultWithParameterValues() + public void Read_SectionResultNull_ThrowsArgumentNullException() { // Setup - var random = new Random(21); - var layerOne = random.NextEnumValue(); - var layerTwoA = random.NextEnumValue(); - double layerThree = random.NextDouble(); + var entity = new StabilityStoneCoverSectionResultEntity(); - var collector = new ReadConversionCollector(); - - var failureMechanismSectionEntity = new FailureMechanismSectionEntity(); - collector.Read(failureMechanismSectionEntity, new TestFailureMechanismSection()); - var entity = new StabilityStoneCoverSectionResultEntity - { - LayerOne = Convert.ToByte(layerOne), - LayerTwoA = Convert.ToByte(layerTwoA), - LayerThree = layerThree, - FailureMechanismSectionEntity = failureMechanismSectionEntity - }; - var sectionResult = new StabilityStoneCoverFailureMechanismSectionResult(new TestFailureMechanismSection()); - // Call - entity.Read(sectionResult); + TestDelegate call = () => entity.Read(null); // Assert - Assert.AreEqual(layerOne, sectionResult.AssessmentLayerOne); + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("sectionResult", paramName); } [Test] - public void Read_EntityWithNull_SectionResultWithNaNValues() + public void Read_ParameterValues_SectionResultWithParameterValues() { // Setup var random = new Random(21); - var layerOne = random.NextEnumValue(); - var layerTwoA = random.NextEnumValue(); + 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 StabilityStoneCoverSectionResultEntity { - LayerOne = Convert.ToByte(layerOne), - LayerTwoA = Convert.ToByte(layerTwoA), - LayerThree = null, - 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 StabilityStoneCoverFailureMechanismSectionResult(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