Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismExtensionsTest.cs =================================================================== diff -u -r1e14ee40087ad0c42f889f6ee86c13bf6d7d192b -r4c6e297466d36915591da7680c79345511dcefe0 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismExtensionsTest.cs (.../GrassCoverErosionOutwardsFailureMechanismExtensionsTest.cs) (revision 1e14ee40087ad0c42f889f6ee86c13bf6d7d192b) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Data.Test/GrassCoverErosionOutwardsFailureMechanismExtensionsTest.cs (.../GrassCoverErosionOutwardsFailureMechanismExtensionsTest.cs) (revision 4c6e297466d36915591da7680c79345511dcefe0) @@ -159,5 +159,52 @@ // Assert Assert.AreEqual(expectedAssessmentLevel, assessmentLevel); } + + [Test] + public void GetNorm_FailureMechanismNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => GrassCoverErosionOutwardsFailureMechanismExtensions.GetNorm(null, + new AssessmentSectionStub(), + FailureMechanismCategoryType.FactorizedLowerLimitNorm); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("failureMechanism", paramName); + } + + [Test] + public void GetNorm_AssessmentSectionNull_ThrowsArgumentNullException() + { + // Setup + var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); + + // Call + TestDelegate test = () => failureMechanism.GetNorm(null, + FailureMechanismCategoryType.FactorizedLowerLimitNorm); + + // Assert + string paramName = Assert.Throws(test).ParamName; + Assert.AreEqual("assessmentSection", paramName); + } + + [Test] + public void GetNorm_InvalidAssessmentSectionCategoryType_ThrowsInvalidEnumArgumentException() + { + // Setup + const int invalidValue = 9999; + + var assessmentSection = new AssessmentSectionStub(); + var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); + + // Call + TestDelegate test = () => failureMechanism.GetNorm(assessmentSection, + (FailureMechanismCategoryType) invalidValue); + + // Assert + string expectedMessage = $"The value of argument 'categoryType' ({invalidValue}) is invalid for Enum type '{nameof(FailureMechanismCategoryType)}'."; + string parameterName = TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage).ParamName; + Assert.AreEqual("categoryType", parameterName); + } } } \ No newline at end of file