Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs =================================================================== diff -u -ref5806c808ecd8a1d443a647f3bde8c46d48dfe1 -r83e22aa7cea77c0722a7dd27148708b15fa8c066 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs (.../WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs) (revision ef5806c808ecd8a1d443a647f3bde8c46d48dfe1) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs (.../WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensions.cs) (revision 83e22aa7cea77c0722a7dd27148708b15fa8c066) @@ -37,14 +37,26 @@ /// /// The result to create a database entity for. /// A new . + /// Thrown when is null. internal static WaveImpactAsphaltCoverSectionResultEntity Create(this WaveImpactAsphaltCoverFailureMechanismSectionResult result) { - var sectionResultEntity = new WaveImpactAsphaltCoverSectionResultEntity + if (result == null) { - LayerOne = Convert.ToByte(result.AssessmentLayerOne) - }; + throw new ArgumentNullException(nameof(result)); + } - return sectionResultEntity; + return new WaveImpactAsphaltCoverSectionResultEntity + { + 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/WaveImpactAsphaltCover/WaveImpactAsphaltCoverSectionResultEntityReadExtensions.cs =================================================================== diff -u -ref5806c808ecd8a1d443a647f3bde8c46d48dfe1 -r83e22aa7cea77c0722a7dd27148708b15fa8c066 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/WaveImpactAsphaltCover/WaveImpactAsphaltCoverSectionResultEntityReadExtensions.cs (.../WaveImpactAsphaltCoverSectionResultEntityReadExtensions.cs) (revision ef5806c808ecd8a1d443a647f3bde8c46d48dfe1) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/WaveImpactAsphaltCover/WaveImpactAsphaltCoverSectionResultEntityReadExtensions.cs (.../WaveImpactAsphaltCoverSectionResultEntityReadExtensions.cs) (revision 83e22aa7cea77c0722a7dd27148708b15fa8c066) @@ -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.WaveImpactAsphaltCover.Data; namespace Application.Ringtoets.Storage.Read.WaveImpactAsphaltCover @@ -36,19 +37,31 @@ /// 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 WaveImpactAsphaltCoverSectionResultEntity entity, WaveImpactAsphaltCoverFailureMechanismSectionResult 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/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensionsTest.cs =================================================================== diff -u -ref5806c808ecd8a1d443a647f3bde8c46d48dfe1 -r83e22aa7cea77c0722a7dd27148708b15fa8c066 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensionsTest.cs (.../WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensionsTest.cs) (revision ef5806c808ecd8a1d443a647f3bde8c46d48dfe1) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/WaveImpactAsphaltCover/WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensionsTest.cs (.../WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensionsTest.cs) (revision 83e22aa7cea77c0722a7dd27148708b15fa8c066) @@ -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.WaveImpactAsphaltCover.Data; namespace Application.Ringtoets.Storage.Test.Create.WaveImpactAsphaltCover @@ -34,22 +35,57 @@ public class WaveImpactAsphaltCoverFailureMechanismSectionResultCreateExtensionsTest { [Test] - public void Create_WithResults_ReturnsEntityWithExpectedResults() + public void Create_SectionResultNull_ThrowsArgumentNullException() { + // Call + TestDelegate call = () => ((WaveImpactAsphaltCoverFailureMechanismSectionResult) null).Create(); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("result", exception.ParamName); + } + + [Test] + public void Create_WithDifferentResults_ReturnsEntityWithExpectedResults() + { // Setup var random = new Random(); - var assessmentLayerOneResult = 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 sectionResult = new WaveImpactAsphaltCoverFailureMechanismSectionResult(new TestFailureMechanismSection()) { - AssessmentLayerOne = assessmentLayerOneResult + SimpleAssessmentResult = simpleAssessmentResult, + DetailedAssessmentResultForFactorizedSignalingNorm = detailedAssessmentResultForFactorizedSignalingNorm, + DetailedAssessmentResultForSignalingNorm = detailedAssessmentResultForSignalingNorm, + DetailedAssessmentResultForMechanismSpecificLowerLimitNorm = detailedAssessmentResultForMechanismSpecificLowerLimitNorm, + DetailedAssessmentResultForLowerLimitNorm = detailedAssessmentResultForLowerLimitNorm, + DetailedAssessmentResultForFactorizedLowerLimitNorm = detailedAssessmentResultForFactorizedLowerLimitNorm, + TailorMadeAssessmentResult = tailorMadeAssessmentResult, + UseManualAssemblyCategoryGroup = useManualAssemblyCategoryGroup, + ManualAssemblyCategoryGroup = manualAssemblyCategoryGroup }; // Call - WaveImpactAsphaltCoverSectionResultEntity result = sectionResult.Create(); + WaveImpactAsphaltCoverSectionResultEntity entity = sectionResult.Create(); // Assert - Assert.AreEqual(Convert.ToByte(assessmentLayerOneResult), 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/WaveImpactAsphaltCover/WaveImpactAsphaltCoverSectionResultEntityReadExtensionsTest.cs =================================================================== diff -u -ref5806c808ecd8a1d443a647f3bde8c46d48dfe1 -r83e22aa7cea77c0722a7dd27148708b15fa8c066 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/WaveImpactAsphaltCover/WaveImpactAsphaltCoverSectionResultEntityReadExtensionsTest.cs (.../WaveImpactAsphaltCoverSectionResultEntityReadExtensionsTest.cs) (revision ef5806c808ecd8a1d443a647f3bde8c46d48dfe1) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/WaveImpactAsphaltCover/WaveImpactAsphaltCoverSectionResultEntityReadExtensionsTest.cs (.../WaveImpactAsphaltCoverSectionResultEntityReadExtensionsTest.cs) (revision 83e22aa7cea77c0722a7dd27148708b15fa8c066) @@ -21,12 +21,12 @@ using System; using Application.Ringtoets.Storage.DbContext; -using Application.Ringtoets.Storage.Read; using Application.Ringtoets.Storage.Read.WaveImpactAsphaltCover; 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.WaveImpactAsphaltCover.Data; namespace Application.Ringtoets.Storage.Test.Read.WaveImpactAsphaltCover @@ -35,74 +35,75 @@ public class WaveImpactAsphaltCoverSectionResultEntityReadExtensionsTest { [Test] - public void Read_SectionResultIsNull_ThrowArgumentNullException() + public void Read_EntityNull_ThrowsArgumentNullException() { - // Setup - var entity = new WaveImpactAsphaltCoverSectionResultEntity(); - // Call - TestDelegate call = () => entity.Read(null); + TestDelegate call = () => ((WaveImpactAsphaltCoverSectionResultEntity) null).Read( + new WaveImpactAsphaltCoverFailureMechanismSectionResult(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 WaveImpactAsphaltCoverSectionResultEntity(); - var collector = new ReadConversionCollector(); - - var failureMechanismSectionEntity = new FailureMechanismSectionEntity(); - collector.Read(failureMechanismSectionEntity, new TestFailureMechanismSection()); - var entity = new WaveImpactAsphaltCoverSectionResultEntity - { - LayerThree = layerThree, - LayerTwoA = Convert.ToByte(layerTwoA), - LayerOne = Convert.ToByte(layerOne), - FailureMechanismSectionEntity = failureMechanismSectionEntity - }; - var sectionResult = new WaveImpactAsphaltCoverFailureMechanismSectionResult(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_EntityWithNullValues_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 WaveImpactAsphaltCoverSectionResultEntity { - LayerThree = null, - 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 WaveImpactAsphaltCoverFailureMechanismSectionResult(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