Fisheye: Tag c0edeb23f0e6623c13f36ad5a57efa7edf847993 refers to a dead (removed) revision in file `Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/Converters/ConfigurationFailureMechanismCategoryTypeConverter.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/Converters/ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/Converters/ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter.cs (revision 0) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/Converters/ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter.cs (revision c0edeb23f0e6623c13f36ad5a57efa7edf847993) @@ -0,0 +1,167 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.ComponentModel; +using System.Globalization; +using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.GrassCoverErosionOutwards.IO.Properties; + +namespace Ringtoets.GrassCoverErosionOutwards.IO.Configurations.Converters +{ + /// + /// Converts to + /// or and back. + /// + public class ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter : TypeConverter + { + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) + { + return destinationType == typeof(FailureMechanismCategoryType) + || base.CanConvertTo(context, destinationType); + } + + /// + /// Thrown when + /// contains an invalid value of . + public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) + { + var categoryType = (ConfigurationGrassCoverErosionOutwardsCategoryType) value; + if (!Enum.IsDefined(typeof(ConfigurationGrassCoverErosionOutwardsCategoryType), categoryType)) + { + throw new InvalidEnumArgumentException(nameof(value), + (int) categoryType, + typeof(ConfigurationGrassCoverErosionOutwardsCategoryType)); + } + + if (destinationType == typeof(FailureMechanismCategoryType)) + { + switch (categoryType) + { + case ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificFactorizedSignalingNorm: + return FailureMechanismCategoryType.MechanismSpecificFactorizedSignalingNorm; + case ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificSignalingNorm: + return FailureMechanismCategoryType.MechanismSpecificSignalingNorm; + case ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificLowerLimitNorm: + return FailureMechanismCategoryType.MechanismSpecificLowerLimitNorm; + case ConfigurationGrassCoverErosionOutwardsCategoryType.LowerLimitNorm: + return FailureMechanismCategoryType.LowerLimitNorm; + case ConfigurationGrassCoverErosionOutwardsCategoryType.FactorizedLowerLimitNorm: + return FailureMechanismCategoryType.FactorizedLowerLimitNorm; + default: + throw new NotSupportedException(); + } + } + + if (destinationType == typeof(string)) + { + switch (categoryType) + { + case ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificFactorizedSignalingNorm: + return Resources.FailureMechanismCategoryType_MechanismSpecificFactorizedSignalingNorm_DisplayName; + case ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificSignalingNorm: + return Resources.FailureMechanismCategoryType_MechanismSpecificSignalingNorm_DisplayName; + case ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificLowerLimitNorm: + return Resources.FailureMechanismCategoryType_MechanismSpecificLowerLimitNorm_DisplayName; + case ConfigurationGrassCoverErosionOutwardsCategoryType.LowerLimitNorm: + return Resources.FailureMechanismCategoryType_LowerLimitNorm_DisplayName; + case ConfigurationGrassCoverErosionOutwardsCategoryType.FactorizedLowerLimitNorm: + return Resources.FailureMechanismCategoryType_FactorizedLowerLimitNorm_DisplayName; + default: + throw new NotSupportedException(); + } + } + + return base.ConvertTo(context, culture, value, destinationType); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) + { + return sourceType == typeof(string) + || sourceType == typeof(FailureMechanismCategoryType) + || base.CanConvertFrom(context, sourceType); + } + + /// + /// Thrown when + /// contains an invalid value of . + public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) + { + if (value is FailureMechanismCategoryType) + { + var categoryType = (FailureMechanismCategoryType) value; + if (!Enum.IsDefined(typeof(FailureMechanismCategoryType), categoryType)) + { + throw new InvalidEnumArgumentException(nameof(value), + (int) categoryType, + typeof(FailureMechanismCategoryType)); + } + + switch (categoryType) + { + case FailureMechanismCategoryType.MechanismSpecificFactorizedSignalingNorm: + return ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificFactorizedSignalingNorm; + case FailureMechanismCategoryType.MechanismSpecificSignalingNorm: + return ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificSignalingNorm; + case FailureMechanismCategoryType.MechanismSpecificLowerLimitNorm: + return ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificLowerLimitNorm; + case FailureMechanismCategoryType.LowerLimitNorm: + return ConfigurationGrassCoverErosionOutwardsCategoryType.LowerLimitNorm; + case FailureMechanismCategoryType.FactorizedLowerLimitNorm: + return ConfigurationGrassCoverErosionOutwardsCategoryType.FactorizedLowerLimitNorm; + default: + throw new NotSupportedException(); + } + } + + var stringValue = value as string; + if (stringValue != null) + { + if (stringValue == Resources.FailureMechanismCategoryType_MechanismSpecificFactorizedSignalingNorm_DisplayName) + { + return ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificFactorizedSignalingNorm; + } + + if (stringValue == Resources.FailureMechanismCategoryType_MechanismSpecificSignalingNorm_DisplayName) + { + return ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificSignalingNorm; + } + + if (stringValue == Resources.FailureMechanismCategoryType_MechanismSpecificLowerLimitNorm_DisplayName) + { + return ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificLowerLimitNorm; + } + + if (stringValue == Resources.FailureMechanismCategoryType_LowerLimitNorm_DisplayName) + { + return ConfigurationGrassCoverErosionOutwardsCategoryType.LowerLimitNorm; + } + + if (stringValue == Resources.FailureMechanismCategoryType_FactorizedLowerLimitNorm_DisplayName) + { + return ConfigurationGrassCoverErosionOutwardsCategoryType.FactorizedLowerLimitNorm; + } + } + + return base.ConvertFrom(context, culture, value); + } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/FailureMechanismCategoryWaveConditionsCalculationConfigurationExporter.cs =================================================================== diff -u -r5621f8fe7b06f7edfebedf20d0018b1f354706f1 -rc0edeb23f0e6623c13f36ad5a57efa7edf847993 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/FailureMechanismCategoryWaveConditionsCalculationConfigurationExporter.cs (.../FailureMechanismCategoryWaveConditionsCalculationConfigurationExporter.cs) (revision 5621f8fe7b06f7edfebedf20d0018b1f354706f1) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/FailureMechanismCategoryWaveConditionsCalculationConfigurationExporter.cs (.../FailureMechanismCategoryWaveConditionsCalculationConfigurationExporter.cs) (revision c0edeb23f0e6623c13f36ad5a57efa7edf847993) @@ -56,7 +56,7 @@ { var configuration = new FailureMechanismCategoryWaveConditionsCalculationConfiguration(calculation.Name); SetConfigurationProperties(configuration, calculation); - configuration.CategoryType = (ConfigurationGrassCoverErosionOutwardsCategoryType?) new ConfigurationFailureMechanismCategoryTypeConverter() + configuration.CategoryType = (ConfigurationGrassCoverErosionOutwardsCategoryType?) new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter() .ConvertFrom(calculation.InputParameters.CategoryType); return configuration; } Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/failureMechanismCategoryWaveConditionsCalculationConfigurationWriter.cs =================================================================== diff -u -rbb81cbc775643d95f096bddf5e5dbdae234cf921 -rc0edeb23f0e6623c13f36ad5a57efa7edf847993 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/failureMechanismCategoryWaveConditionsCalculationConfigurationWriter.cs (.../failureMechanismCategoryWaveConditionsCalculationConfigurationWriter.cs) (revision bb81cbc775643d95f096bddf5e5dbdae234cf921) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Configurations/failureMechanismCategoryWaveConditionsCalculationConfigurationWriter.cs (.../failureMechanismCategoryWaveConditionsCalculationConfigurationWriter.cs) (revision c0edeb23f0e6623c13f36ad5a57efa7edf847993) @@ -57,7 +57,7 @@ return; } - var converter = new ConfigurationFailureMechanismCategoryTypeConverter(); + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); writer.WriteElementString(WaveConditionsCalculationConfigurationSchemaIdentifiers.CategoryType, converter.ConvertToInvariantString(configuration.CategoryType.Value)); } Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Ringtoets.GrassCoverErosionOutwards.IO.csproj =================================================================== diff -u -r5621f8fe7b06f7edfebedf20d0018b1f354706f1 -rc0edeb23f0e6623c13f36ad5a57efa7edf847993 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Ringtoets.GrassCoverErosionOutwards.IO.csproj (.../Ringtoets.GrassCoverErosionOutwards.IO.csproj) (revision 5621f8fe7b06f7edfebedf20d0018b1f354706f1) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.IO/Ringtoets.GrassCoverErosionOutwards.IO.csproj (.../Ringtoets.GrassCoverErosionOutwards.IO.csproj) (revision c0edeb23f0e6623c13f36ad5a57efa7edf847993) @@ -17,7 +17,7 @@ - + Fisheye: Tag c0edeb23f0e6623c13f36ad5a57efa7edf847993 refers to a dead (removed) revision in file `Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Configurations/Converters/ConfigurationFailureMechanismCategoryTypeConverterTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Configurations/Converters/ConfigurationGrassCoverErosionOutwardsCategoryTypeConverterTest.cs =================================================================== diff -u --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Configurations/Converters/ConfigurationGrassCoverErosionOutwardsCategoryTypeConverterTest.cs (revision 0) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Configurations/Converters/ConfigurationGrassCoverErosionOutwardsCategoryTypeConverterTest.cs (revision c0edeb23f0e6623c13f36ad5a57efa7edf847993) @@ -0,0 +1,258 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using System.ComponentModel; +using System.Globalization; +using Core.Common.TestUtil; +using NUnit.Framework; +using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.GrassCoverErosionOutwards.IO.Configurations; +using Ringtoets.GrassCoverErosionOutwards.IO.Configurations.Converters; + +namespace Ringtoets.GrassCoverErosionOutwards.IO.Test.Configurations.Converters +{ + [TestFixture] + public class ConfigurationGrassCoverErosionOutwardsCategoryTypeConverterTest + { + [Test] + public void Constructor_ExpectedValues() + { + // Call + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Assert + Assert.IsInstanceOf(converter); + } + + [Test] + public void CanConvertTo_String_ReturnTrue() + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + bool canConvertTo = converter.CanConvertTo(typeof(string)); + + // Assert + Assert.IsTrue(canConvertTo); + } + + [Test] + public void CanConvertTo_FailureMechanismCategoryType_ReturnTrue() + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + bool canConvertTo = converter.CanConvertTo(typeof(FailureMechanismCategoryType)); + + // Assert + Assert.IsTrue(canConvertTo); + } + + [Test] + public void CanConvertTo_OtherType_ReturnFalse() + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + bool canConvertTo = converter.CanConvertTo(typeof(object)); + + // Assert + Assert.IsFalse(canConvertTo); + } + + [Test] + [TestCase(ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificFactorizedSignalingNorm, "Iv-IIv")] + [TestCase(ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificSignalingNorm, "IIv-IIIv")] + [TestCase(ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificLowerLimitNorm, "IIIv-IVv")] + [TestCase(ConfigurationGrassCoverErosionOutwardsCategoryType.LowerLimitNorm, "IVv-Vv")] + [TestCase(ConfigurationGrassCoverErosionOutwardsCategoryType.FactorizedLowerLimitNorm, "Vv-VIv")] + public void ConvertTo_ValidConfigurationFailureMechanismCategoryType_ReturnExpectedText( + ConfigurationGrassCoverErosionOutwardsCategoryType value, string expectedText) + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + object convertTo = converter.ConvertTo(null, CultureInfo.CurrentCulture, value, typeof(string)); + + // Assert + Assert.AreEqual(expectedText, convertTo); + } + + [Test] + [TestCase(ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificFactorizedSignalingNorm, FailureMechanismCategoryType.MechanismSpecificFactorizedSignalingNorm)] + [TestCase(ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificSignalingNorm, FailureMechanismCategoryType.MechanismSpecificSignalingNorm)] + [TestCase(ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificLowerLimitNorm, FailureMechanismCategoryType.MechanismSpecificLowerLimitNorm)] + [TestCase(ConfigurationGrassCoverErosionOutwardsCategoryType.LowerLimitNorm, FailureMechanismCategoryType.LowerLimitNorm)] + [TestCase(ConfigurationGrassCoverErosionOutwardsCategoryType.FactorizedLowerLimitNorm, FailureMechanismCategoryType.FactorizedLowerLimitNorm)] + public void ConvertTo_ValidConfigurationFailureMechanismCategoryType_ReturnFailureMechanismCategoryType( + ConfigurationGrassCoverErosionOutwardsCategoryType originalValue, FailureMechanismCategoryType expectedResult) + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + object categoryType = converter.ConvertTo(null, CultureInfo.CurrentCulture, originalValue, typeof(FailureMechanismCategoryType)); + + // Assert + Assert.AreEqual(expectedResult, categoryType); + } + + [Test] + [TestCase(typeof(string))] + [TestCase(typeof(FailureMechanismCategoryType))] + public void ConvertTo_InvalidConfigurationFailureMechanismCategoryType_ThrowInvalidEnumArgumentException(Type destinationType) + { + // Setup + const ConfigurationGrassCoverErosionOutwardsCategoryType invalidValue = (ConfigurationGrassCoverErosionOutwardsCategoryType) 99; + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + TestDelegate call = () => converter.ConvertTo(invalidValue, destinationType); + + // Assert + string expectedMessage = $"The value of argument 'value' ({invalidValue}) is invalid for Enum type '{nameof(ConfigurationGrassCoverErosionOutwardsCategoryType)}'."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); + } + + [Test] + public void CanConvertFrom_String_ReturnTrue() + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + bool canConvertFrom = converter.CanConvertFrom(typeof(string)); + + // Assert + Assert.IsTrue(canConvertFrom); + } + + [Test] + public void CanConvertFrom_FailureMechanismCategoryType_ReturnTrue() + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + bool canConvertFrom = converter.CanConvertFrom(typeof(FailureMechanismCategoryType)); + + // Assert + Assert.IsTrue(canConvertFrom); + } + + [Test] + public void CanConvertFrom_OtherType_ReturnFalse() + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + bool canConvertFrom = converter.CanConvertFrom(typeof(object)); + + // Assert + Assert.IsFalse(canConvertFrom); + } + + [Test] + [TestCase("Iv-IIv", ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificFactorizedSignalingNorm)] + [TestCase("IIv-IIIv", ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificSignalingNorm)] + [TestCase("IIIv-IVv", ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificLowerLimitNorm)] + [TestCase("IVv-Vv", ConfigurationGrassCoverErosionOutwardsCategoryType.LowerLimitNorm)] + [TestCase("Vv-VIv", ConfigurationGrassCoverErosionOutwardsCategoryType.FactorizedLowerLimitNorm)] + public void ConvertFrom_ValidStringValue_ReturnConfigurationFailureMechanismCategoryType( + string value, ConfigurationGrassCoverErosionOutwardsCategoryType expectedResult) + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + object convertFrom = converter.ConvertFrom(value); + + // Assert + Assert.AreEqual(expectedResult, convertFrom); + } + + [Test] + public void ConvertFrom_InvalidText_ThrowNotSupportedException() + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + TestDelegate call = () => converter.ConvertFrom("1x"); + + // Assert + Assert.Throws(call); + } + + [Test] + [TestCase(FailureMechanismCategoryType.MechanismSpecificFactorizedSignalingNorm, ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificFactorizedSignalingNorm)] + [TestCase(FailureMechanismCategoryType.MechanismSpecificSignalingNorm, ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificSignalingNorm)] + [TestCase(FailureMechanismCategoryType.MechanismSpecificLowerLimitNorm, ConfigurationGrassCoverErosionOutwardsCategoryType.MechanismSpecificLowerLimitNorm)] + [TestCase(FailureMechanismCategoryType.LowerLimitNorm, ConfigurationGrassCoverErosionOutwardsCategoryType.LowerLimitNorm)] + [TestCase(FailureMechanismCategoryType.FactorizedLowerLimitNorm, ConfigurationGrassCoverErosionOutwardsCategoryType.FactorizedLowerLimitNorm)] + public void ConvertFrom_ValidFailureMechanismCategoryType_ReturnConfigurationFailureMechanismCategoryType( + FailureMechanismCategoryType originalValue, ConfigurationGrassCoverErosionOutwardsCategoryType expectedResult) + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + object categoryType = converter.ConvertFrom(originalValue); + + // Assert + Assert.AreEqual(expectedResult, categoryType); + } + + [Test] + public void ConvertFrom_InvalidFailureMechanismCategoryType_ThrowInvalidEnumArgumentException() + { + // Setup + const FailureMechanismCategoryType invalidValue = (FailureMechanismCategoryType) 99; + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + TestDelegate call = () => converter.ConvertFrom(invalidValue); + + // Assert + string expectedMessage = $"The value of argument 'value' ({invalidValue}) is invalid for Enum type '{nameof(FailureMechanismCategoryType)}'."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); + } + + [Test] + public void ConvertFrom_Null_ThrowNotSupportedException() + { + // Setup + var converter = new ConfigurationGrassCoverErosionOutwardsCategoryTypeConverter(); + + // Call + TestDelegate call = () => converter.ConvertFrom(null); + + // Assert + Assert.Throws(call); + } + } +} \ No newline at end of file Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Ringtoets.GrassCoverErosionOutwards.IO.Test.csproj =================================================================== diff -u -r5621f8fe7b06f7edfebedf20d0018b1f354706f1 -rc0edeb23f0e6623c13f36ad5a57efa7edf847993 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Ringtoets.GrassCoverErosionOutwards.IO.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.IO.Test.csproj) (revision 5621f8fe7b06f7edfebedf20d0018b1f354706f1) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.IO.Test/Ringtoets.GrassCoverErosionOutwards.IO.Test.csproj (.../Ringtoets.GrassCoverErosionOutwards.IO.Test.csproj) (revision c0edeb23f0e6623c13f36ad5a57efa7edf847993) @@ -19,7 +19,7 @@ - +