Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryCalculationSettingsTest.cs =================================================================== diff -u -rfc505a6a1ef0418da1856b654a184044c5470782 -r6a9567f3fbe71ef6a2721018e5da5994a99a6db1 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryCalculationSettingsTest.cs (.../HydraulicBoundaryCalculationSettingsTest.cs) (revision fc505a6a1ef0418da1856b654a184044c5470782) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryCalculationSettingsTest.cs (.../HydraulicBoundaryCalculationSettingsTest.cs) (revision 6a9567f3fbe71ef6a2721018e5da5994a99a6db1) @@ -19,7 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.Collections.Generic; +using System; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.Hydraulics; @@ -29,62 +30,57 @@ public class HydraulicBoundaryCalculationSettingsTest { [Test] - [TestCaseSource(nameof(GetTestCasesWithAllParameters))] - public void Constructor_WithArguments_ExpectedValues(string hydraulicBoundaryDatabaseFilePath, - string hlcdFilePath, - string preprocessorDirectory) + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + public void Constructor_InvalidHydraulicBoundaryDatabaseFilePath_ThrowsArgumentNullException(string invalidHydraulicBoundaryDatabaseFilePath) { // Call - var settings = new HydraulicBoundaryCalculationSettings(hydraulicBoundaryDatabaseFilePath, - hlcdFilePath, - preprocessorDirectory); + TestDelegate call = () => new HydraulicBoundaryCalculationSettings(invalidHydraulicBoundaryDatabaseFilePath, + "D:\\hlcdFilePath", + null); // Assert - Assert.AreEqual(hydraulicBoundaryDatabaseFilePath, settings.HydraulicBoundaryDatabaseFilePath); - Assert.AreEqual(hlcdFilePath, settings.HlcdFilePath); - Assert.AreEqual(preprocessorDirectory, settings.PreprocessorDirectory); + const string expectedMessage = "hydraulicBoundaryDatabaseFilePath is null, empty or consist of whitespace."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); } [Test] - [TestCaseSource(nameof(GetTestCasesWithoutHlcdParameter))] - public void Constructor_ExpectedValues(string hydraulicBoundaryDatabaseFilePath, - string preprocessorDirectory) + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + public void Constructor_InvalidHlcdFilePath_ThrowsArgumentNullException(string invalidHlcdFilePath) { // Call + TestDelegate call = () => new HydraulicBoundaryCalculationSettings("D:\\HydraulicBoundaryDatabseFilePath", + invalidHlcdFilePath, + null); + + // Assert + const string expectedMessage = "hlcdFilePath is null, empty or consist of whitespace."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); + } + + [Test] + [TestCase(null)] + [TestCase("")] + [TestCase(" ")] + [TestCase("D:\\PreprocessorDirectory")] + public void Constructor_WithArguments_ExpectedValues(string preprocessorDirectory) + { + // Setup + const string hydraulicBoundaryDatabaseFilePath = "D:\\HydraulicBoundaryDatabaseFilePath"; + const string hlcdFilePath = "D:\\hlcdFilePath"; + + // Call var settings = new HydraulicBoundaryCalculationSettings(hydraulicBoundaryDatabaseFilePath, + hlcdFilePath, preprocessorDirectory); // Assert Assert.AreEqual(hydraulicBoundaryDatabaseFilePath, settings.HydraulicBoundaryDatabaseFilePath); - Assert.IsNull(settings.HlcdFilePath); + Assert.AreEqual(hlcdFilePath, settings.HlcdFilePath); Assert.AreEqual(preprocessorDirectory, settings.PreprocessorDirectory); } - - private static IEnumerable GetTestCasesWithAllParameters() - { - yield return new TestCaseData("D:\\HydraulicBoundaryDatabase.sqlite", - "D:\\HLCD.sqlite", - "D:\\") - .SetName("All inputs with values"); - yield return new TestCaseData(" ", " ", " ") - .SetName("All inputs whitespace"); - yield return new TestCaseData(string.Empty, string.Empty, string.Empty) - .SetName("All inputs empty"); - yield return new TestCaseData(null, null, null) - .SetName("All inputs null"); - } - - private static IEnumerable GetTestCasesWithoutHlcdParameter() - { - yield return new TestCaseData("D:\\HydraulicBoundaryDatabase.sqlite", - "D:\\") - .SetName("All inputs with values"); - yield return new TestCaseData(" ", " ") - .SetName("All inputs whitespace"); - yield return new TestCaseData(string.Empty, string.Empty) - .SetName("All inputs empty"); - yield return new TestCaseData(null, null) - .SetName("All inputs null"); - } } } \ No newline at end of file