Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Readers/PipingConfigurationReaderTest.cs =================================================================== diff -u -r63beeaa6acab32952682e4aa56bba62b4c2b45c5 -rc85651351f64578aefc6913576430aed66325500 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Readers/PipingConfigurationReaderTest.cs (.../PipingConfigurationReaderTest.cs) (revision 63beeaa6acab32952682e4aa56bba62b4c2b45c5) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Readers/PipingConfigurationReaderTest.cs (.../PipingConfigurationReaderTest.cs) (revision c85651351f64578aefc6913576430aed66325500) @@ -245,7 +245,7 @@ [Test] [TestCaseSource(nameof(InvalidConfigurations))] - public void Constructor_FileInvalidBasedOnSchemaDefinition_ThrowCriticalFileReadException(string fileName, string expectedInnerExceptionMessage) + public void Constructor_FileInvalidBasedOnSchemaDefinition_ThrowCriticalFileReadException(string fileName, string expectedParsingMessage) { // Setup string filePath = Path.Combine(testDirectoryPath, fileName); @@ -254,14 +254,29 @@ TestDelegate call = () => new PipingConfigurationReader(filePath); // Assert - string expectedMessage = $"Fout bij het lezen van bestand '{filePath}': het XML-document dat de configuratie voor de berekeningen beschrijft is niet geldig."; var exception = Assert.Throws(call); - Assert.AreEqual(expectedMessage, exception.Message); Assert.IsInstanceOf(exception.InnerException); - Assert.IsTrue(exception.InnerException?.Message.Contains(expectedInnerExceptionMessage)); + Assert.IsTrue(exception.InnerException?.Message.Contains(expectedParsingMessage)); } [Test] + public void Constructor_FileInvalidBasedOnSchemaDefinition_ThrowCriticalFileReadExceptionWithExpectedMessage() + { + // Setup + string filePath = Path.Combine(testDirectoryPath, "invalidFolderNoName.xml"); + + // Call + TestDelegate call = () => new PipingConfigurationReader(filePath); + + // Assert + string expectedMessage = $"Fout bij het lezen van bestand '{filePath}': het XML-document dat de configuratie" + + " voor de berekeningen beschrijft is niet geldig. De validatie geeft de volgende melding" + + " op regel 3, positie 4: The required attribute \'naam\' is missing."; + var exception = Assert.Throws(call); + Assert.AreEqual(expectedMessage, exception.Message); + } + + [Test] public void Read_ValidConfigurationWithEmptyRoot_ReturnEmptyReadPipingCalculationItemsCollection() { // Setup