Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfile/SoilProfile1DReaderTest.cs =================================================================== diff -u -r6b3d2269de35bec503bbd3965ae9b532e1c6f216 -rd082f5444ccd9571f4fabb4c47f1082fa5ece21e --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfile/SoilProfile1DReaderTest.cs (.../SoilProfile1DReaderTest.cs) (revision 6b3d2269de35bec503bbd3965ae9b532e1c6f216) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SoilProfile/SoilProfile1DReaderTest.cs (.../SoilProfile1DReaderTest.cs) (revision d082f5444ccd9571f4fabb4c47f1082fa5ece21e) @@ -2,6 +2,8 @@ using System.Linq; using NUnit.Framework; using Rhino.Mocks; + +using Ringtoets.Piping.IO.Builders; using Ringtoets.Piping.IO.Exceptions; using Ringtoets.Piping.IO.SoilProfile; @@ -24,7 +26,12 @@ public void ReadFrom_InvalidCriticalProperty_ThrowsCriticalFileReadException() { // Setup + const string profileName = ""; + const string path = "A"; + + reader.Expect(r => r.Read(SoilProfileDatabaseColumns.ProfileName)).Return(profileName); reader.Expect(r => r.Read(SoilProfileDatabaseColumns.LayerCount)).Throw(new InvalidCastException()); + reader.Expect(r => r.Path).Return(path); mocks.ReplayAll(); @@ -33,7 +40,10 @@ // Assert var exception = Assert.Throws(test); - Assert.AreEqual("Kritieke fout opgetreden bij het uitlezen van waardes uit kolommen in de database.", exception.Message); + var expectedMessage = new FileReaderErrorMessageBuilder(path) + .WithSubject(string.Format("ondergrondschematisering '{0}'", profileName)) + .Build("Kritieke fout opgetreden bij het uitlezen van waardes uit kolommen in de database."); + Assert.AreEqual(expectedMessage, exception.Message); mocks.VerifyAll(); } @@ -42,8 +52,12 @@ public void ReadFrom_InvalidRequiredProperty_ThrowsPipingSoilProfileReadException() { // Setup + const string profileName = ""; + const string path = "A"; + + reader.Expect(r => r.Path).Return(path); reader.Expect(r => r.Read(SoilProfileDatabaseColumns.LayerCount)).Return(1).Repeat.Any(); - reader.Expect(r => r.Read(SoilProfileDatabaseColumns.ProfileName)).Return("").Repeat.Any(); + reader.Expect(r => r.Read(SoilProfileDatabaseColumns.ProfileName)).Return(profileName).Repeat.Any(); reader.Expect(r => r.Read(SoilProfileDatabaseColumns.Bottom)).Throw(new InvalidCastException()); mocks.ReplayAll(); @@ -53,7 +67,10 @@ // Assert var exception = Assert.Throws(test); - Assert.AreEqual("Ondergrondschematisering '' in database bevat geen geldige waarde in kolom 'Bottom'.", exception.Message); + var expectedMessage = new FileReaderErrorMessageBuilder(path) + .WithSubject(string.Format("ondergrondschematisering '{0}'", profileName)) + .Build("Ondergrondschematisering bevat geen geldige waarde in kolom 'Bottom'."); + Assert.AreEqual(expectedMessage, exception.Message); mocks.VerifyAll(); } @@ -62,16 +79,23 @@ public void ReadFrom_ZeroLayerCount_ThrowsPipingSoilProfileReadException() { // Setup - SetExpectations(0, "", 0.0, 0.0, 1.0, 0.0, 0.0, 0.0); + const string profileName = ""; + const string path = "A"; + SetExpectations(0, profileName, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0); + reader.Expect(r => r.Path).Return(path); + mocks.ReplayAll(); // Call TestDelegate test = () => SoilProfile1DReader.ReadFrom(reader); // Assert var exception = Assert.Throws(test); - Assert.AreEqual("Geen lagen gevonden voor het profiel.", exception.Message); + var expectedMessage = new FileReaderErrorMessageBuilder(path) + .WithSubject(string.Format("ondergrondschematisering '{0}'", profileName)) + .Build("Geen lagen gevonden voor het profiel."); + Assert.AreEqual(expectedMessage, exception.Message); mocks.VerifyAll(); } @@ -80,6 +104,11 @@ public void ReadFrom_InvalidIsAquifer_ReturnsProfileWithNullValuesOnLayer() { // Setup + const string path = "A"; + const string profileName = ""; + + reader.Expect(r => r.Read(SoilProfileDatabaseColumns.ProfileName)).Return(profileName); + reader.Expect(r => r.Path).Return(path); reader.Expect(r => r.Read(SoilProfileDatabaseColumns.LayerCount)).Return(1).Repeat.Any(); reader.Expect(r => r.ReadOrNull(SoilProfileDatabaseColumns.IsAquifer)).Throw(new InvalidCastException()); mocks.ReplayAll(); @@ -89,7 +118,10 @@ // Assert var exception = Assert.Throws(test); - Assert.AreEqual("Ondergrondschematisering '' in database bevat geen geldige waarde in kolom 'IsAquifer'.", exception.Message); + var expectedMessage = new FileReaderErrorMessageBuilder(path) + .WithSubject(string.Format("ondergrondschematisering '{0}'", profileName)) + .Build("Ondergrondschematisering bevat geen geldige waarde in kolom 'IsAquifer'."); + Assert.AreEqual(expectedMessage, exception.Message); mocks.VerifyAll(); }