Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/ReliabilityIndexCalculationParserTest.cs =================================================================== diff -u -r9a23940073476cb6293dd921afb5298d0aeaab7d -raaba4b75a68957cc119907739669b990275f4ca4 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/ReliabilityIndexCalculationParserTest.cs (.../ReliabilityIndexCalculationParserTest.cs) (revision 9a23940073476cb6293dd921afb5298d0aeaab7d) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Parsers/ReliabilityIndexCalculationParserTest.cs (.../ReliabilityIndexCalculationParserTest.cs) (revision aaba4b75a68957cc119907739669b990275f4ca4) @@ -22,6 +22,7 @@ using System; using System.Data.SQLite; using System.IO; +using System.Security.AccessControl; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.HydraRing.Calculation.Exceptions; @@ -32,12 +33,7 @@ [TestFixture] public class ReliabilityIndexCalculationParserTest { - private const string emptyWorkingDirectory = "EmptyWorkingDirectory"; - private const string invalidFileInDirectory = "InvalidFile"; - private const string emptyFileInDirectory = "EmptyDatabase"; private const string validFile = "ValidFile"; - private const string betaNull = "BetaNull"; - private const string valueNull = "ValueNull"; private readonly string testDirectory = Path.Combine(TestHelper.GetTestDataPath(TestDataPath.Ringtoets.HydraRing.Calculation, "Parsers"), nameof(ReliabilityIndexCalculationParser)); @@ -71,7 +67,7 @@ public void Parse_WithWorkingDirectoryWithoutExpectedFile_ThrowsHydraRingFileParserException() { // Setup - string path = Path.Combine(testDirectory, emptyWorkingDirectory); + string path = Path.Combine(testDirectory, "EmptyWorkingDirectory"); var parser = new ReliabilityIndexCalculationParser(); // Call @@ -86,7 +82,7 @@ public void Parse_WithWorkingDirectoryWithInvalidOutputFile_ThrowsHydraRingFileParserException() { // Setup - string path = Path.Combine(testDirectory, invalidFileInDirectory); + string path = Path.Combine(testDirectory, "InvalidFile"); var parser = new ReliabilityIndexCalculationParser(); // Call @@ -102,7 +98,7 @@ public void Parse_WithWorkingDirectoryWithEmptyFile_ThrowsHydraRingFileParserException() { // Setup - string path = Path.Combine(testDirectory, emptyFileInDirectory); + string path = Path.Combine(testDirectory, "EmptyDatabase"); var parser = new ReliabilityIndexCalculationParser(); // Call @@ -146,8 +142,8 @@ } [Test] - [TestCase(betaNull)] - [TestCase(valueNull)] + [TestCase("BetaNull")] + [TestCase("ValueNull")] public void Parse_BetaOrValueNull_ThrowHydraRingFileParserException(string subFolder) { // Setup @@ -162,5 +158,25 @@ Assert.AreEqual("Er is geen resultaat voor de betrouwbaarheidsindex van de berekende kans van voorkomen gevonden in de Hydra-Ring uitvoerdatabase.", exception.Message); Assert.IsInstanceOf(exception.InnerException); } + + [Test] + public void Parse_ErrorWhileReadingFile_ThrowsHydraRingFileParserException() + { + // Setup + var parser = new ReliabilityIndexCalculationParser(); + string workingDirectory = Path.Combine(testDirectory, validFile); + + using (new DirectoryPermissionsRevoker(testDirectory, FileSystemRights.ReadData)) + { + // Call + TestDelegate call = () => parser.Parse(workingDirectory, 1); + + // Assert + var exception = Assert.Throws(call); + var expectedMessage = "Er kon geen resultaat gelezen worden uit de Hydra-Ring uitvoerdatabase."; + Assert.AreEqual(expectedMessage, exception.Message); + Assert.IsInstanceOf(exception.InnerException); + } + } } } \ No newline at end of file