Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.Test/HydraulicDatabaseHelperTest.cs =================================================================== diff -u -r2cf2214c4069c98c3cb21708729fcbc2ca964ab6 -r8476d48f3aa0d36c866433c29be238aa52abcfe4 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.Test/HydraulicDatabaseHelperTest.cs (.../HydraulicDatabaseHelperTest.cs) (revision 2cf2214c4069c98c3cb21708729fcbc2ca964ab6) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.Test/HydraulicDatabaseHelperTest.cs (.../HydraulicDatabaseHelperTest.cs) (revision 8476d48f3aa0d36c866433c29be238aa52abcfe4) @@ -1,6 +1,9 @@ -using System.IO; +using System; +using System.IO; +using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; +using Ringtoets.HydraRing.Data; namespace Ringtoets.HydraRing.IO.Test { @@ -75,6 +78,78 @@ // Assert StringAssert.StartsWith(string.Format("Fout bij het lezen van bestand '{0}':", validFilePath), result); } - + + [Test] + public void HaveEqualVersion_InvalidFile_ThrowsCriticalFileReadException() + { + // Setup + var invalidPath = Path.Combine(testDataPath, "complete.sqlite"); + invalidPath = invalidPath.Replace('c', Path.GetInvalidPathChars()[0]); + + // Call + TestDelegate test = () => HydraulicDatabaseHelper.HaveEqualVersion(new HydraulicBoundaryDatabase(), invalidPath); + + // Assert + Assert.Throws(test); + } + + [Test] + public void HaveEqualVersion_PathNotSet_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => HydraulicDatabaseHelper.HaveEqualVersion(new HydraulicBoundaryDatabase(), null); + + // Assert + var parameter = Assert.Throws(test).ParamName; + Assert.AreEqual("pathToDatabase", parameter); + } + + [Test] + public void HaveEqualVersion_DatabaseNotSet_ThrowsArgumentNullException() + { + // Setup + string validFilePath = Path.Combine(testDataPath, "complete.sqlite"); + + // Call + TestDelegate test = () => HydraulicDatabaseHelper.HaveEqualVersion(null, validFilePath); + + // Assert + var parameter = Assert.Throws(test).ParamName; + Assert.AreEqual("database", parameter); + } + + [Test] + public void HaveEqualVersion_ValidFileEqualVersion_ReturnsTrue() + { + // Setup + string validFilePath = Path.Combine(testDataPath, "complete.sqlite"); + var database = new HydraulicBoundaryDatabase() + { + Version = "Dutch coast South19-11-2015 12:00" + }; + + // Call + bool isEqual = HydraulicDatabaseHelper.HaveEqualVersion(database, validFilePath); + + // Assert + Assert.IsTrue(isEqual); + } + + [Test] + public void HaveEqualVersion_ValidFileDifferentVersion_ReturnsFalse() + { + // Setup + string validFilePath = Path.Combine(testDataPath, "complete.sqlite"); + var database = new HydraulicBoundaryDatabase() + { + Version = "Dutch coast South19-11-2015 12:01" + }; + + // Call + bool isEqual = HydraulicDatabaseHelper.HaveEqualVersion(database, validFilePath); + + // Assert + Assert.IsFalse(isEqual); + } } } \ No newline at end of file