public void Given172Project_WhenUpgradedTo173_ThenProjectAsExpected() { // Given string sourceFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Migration.Core, "MigrationTestProject172.rtd"); var fromVersionedFile = new ProjectVersionedFile(sourceFilePath); string targetFilePath = TestHelper.GetScratchPadPath(nameof(Given172Project_WhenUpgradedTo173_ThenProjectAsExpected)); string logFilePath = TestHelper.GetScratchPadPath(string.Concat(nameof(Given172Project_WhenUpgradedTo173_ThenProjectAsExpected), ".log")); var migrator = new ProjectFileMigrator { LogPath = logFilePath }; using (new FileDisposeHelper(logFilePath)) using (new FileDisposeHelper(targetFilePath)) { // When migrator.Migrate(fromVersionedFile, newVersion, targetFilePath); // Then using (var reader = new MigratedDatabaseReader(targetFilePath)) { AssertTablesContentMigrated(reader, sourceFilePath); AssertVersions(reader); AssertDatabase(reader); AssertMacroStabilityInwardsOutput(reader); } AssertLogDatabase(logFilePath); } }
private bool MigrateToTargetLocation(string sourceFilePath, string targetLocation) { if (!CreateInitializedDatabaseLogFile()) { return(false); } try { var versionedFile = new ProjectVersionedFile(sourceFilePath); fileMigrator.Migrate(versionedFile, currentDatabaseVersion, targetLocation); string message = string.Format(Resources.ProjectMigrator_MigrateToTargetLocation_Outdated_projectfile_0_succesfully_updated_to_target_filepath_1_version_2_, sourceFilePath, targetLocation, currentDatabaseVersion); log.Info(message); LogMigrationMessages(); return(true); } catch (CriticalMigrationException e) { string errorMessage = string.Format(Resources.ProjectMigrator_MigrateToTargetLocation_Updating_outdated_projectfile_0_failed_with_exception_1_, sourceFilePath, e.Message); log.Error(errorMessage, e); return(false); } finally { TryCleanupDatabaseLogFile(); } }
public void Migrate_ValidFilesWithLogFile_SavesFileAtNewLocation() { // Setup const string newVersion = "17.1"; string sourceFilePath = ProjectMigrationTestHelper.GetOutdatedSupportedProjectFilePath(); var fromVersionedFile = new ProjectVersionedFile(sourceFilePath); string targetFilePath = TestHelper.GetScratchPadPath(nameof(Migrate_ValidFilesWithLogFile_SavesFileAtNewLocation)); string logFilePath = TestHelper.GetScratchPadPath(string.Concat(nameof(Migrate_ValidFilesWithLogFile_SavesFileAtNewLocation), ".log")); var migrator = new ProjectFileMigrator { LogPath = logFilePath }; using (new FileDisposeHelper(logFilePath)) using (new FileDisposeHelper(targetFilePath)) { // Call migrator.Migrate(fromVersionedFile, newVersion, targetFilePath); // Assert var toVersionedFile = new ProjectVersionedFile(targetFilePath); Assert.AreEqual(newVersion, toVersionedFile.GetVersion()); } }
public void Migrate_TargetFileNotWritable_ThrowsCriticalDatabaseMigrationException() { // Setup const string newVersion = "17.1"; string sourceFilePath = ProjectMigrationTestHelper.GetOutdatedSupportedProjectFilePath(); var fromVersionedFile = new ProjectVersionedFile(sourceFilePath); string targetFilePath = TestHelper.GetScratchPadPath(nameof(Migrate_TargetFileNotWritable_ThrowsCriticalDatabaseMigrationException)); var migrator = new ProjectFileMigrator(); using (new FileDisposeHelper(targetFilePath)) { FileAttributes attributes = File.GetAttributes(targetFilePath); File.SetAttributes(targetFilePath, attributes | FileAttributes.ReadOnly); try { // Call TestDelegate call = () => migrator.Migrate(fromVersionedFile, newVersion, targetFilePath); // Assert var exception = Assert.Throws <CriticalMigrationException>(call); StringAssert.StartsWith("Het gemigreerde projectbestand is aangemaakt op '", exception.Message); StringAssert.EndsWith($"', maar er is een onverwachte fout opgetreden tijdens het verplaatsen naar '{targetFilePath}'.", exception.Message); Assert.IsInstanceOf <UnauthorizedAccessException>(exception.InnerException); } finally { File.SetAttributes(targetFilePath, attributes); } } }
public void GivenConsole_WhenMigrateCalledWithArguments_MigratesToNewVersion() { // Given string sourceFilePath = ProjectMigrationTestHelper.GetOutdatedSupportedProjectFilePath(); string targetFilePath = TestHelper.GetScratchPadPath($"{nameof(RiskeerMigrationConsoleTest)}.{nameof(GivenConsole_WhenMigrateCalledWithArguments_MigratesToNewVersion)}"); var console = new RiskeerMigrationConsole(); string expectedVersion = ProjectVersionHelper.GetCurrentDatabaseVersion(); using (new FileDisposeHelper(targetFilePath)) { using (var consoleOutput = new ConsoleOutput()) { // When console.ExecuteConsoleTool(new[] { sourceFilePath, targetFilePath }); // Then string expected = Environment.NewLine + $"Het projectbestand '{sourceFilePath}' is succesvol gemigreerd naar '{targetFilePath}' (versie {expectedVersion})." + Environment.NewLine; string consoleText = consoleOutput.GetConsoleOutput(); Assert.AreEqual(expected, consoleText); var toVersionedFile = new ProjectVersionedFile(targetFilePath); Assert.AreEqual(expectedVersion, toVersionedFile.GetVersion()); } } Assert.AreEqual(ErrorCode.ErrorSuccess, environmentControl.ErrorCodeCalled); }
public void ShouldMigrate_OutdatedProjectUnsupported_ReturnsNotSupportedAndGeneratesLogMessages() { // Setup var mocks = new MockRepository(); var inquiryHelper = mocks.Stub <IInquiryHelper>(); mocks.ReplayAll(); string sourceFilePath = ProjectMigrationTestHelper.GetOutdatedUnSupportedProjectFilePath(); var versionedFile = new ProjectVersionedFile(sourceFilePath); string fileVersion = versionedFile.GetVersion(); var migrator = new ProjectMigrator(inquiryHelper); var shouldMigrate = MigrationRequired.Yes; // Call void Call() => shouldMigrate = migrator.ShouldMigrate(sourceFilePath); // Assert var expectedMessage = $"Het migreren van een projectbestand met versie '{fileVersion}' naar versie '{currentDatabaseVersion}' is niet ondersteund."; TestHelper.AssertLogMessageIsGenerated(Call, expectedMessage); Assert.AreEqual(MigrationRequired.NotSupported, shouldMigrate); mocks.VerifyAll(); }
private static void MigrateFile(string sourceFilePath, string targetFilePath) { string newVersion = ProjectVersionHelper.GetCurrentDatabaseVersion(); var fromVersionedFile = new ProjectVersionedFile(sourceFilePath); var migrator = new ProjectFileMigrator(); migrator.Migrate(fromVersionedFile, newVersion, targetFilePath); }
private static void MigrateCommand(string filePath, string toFilePath) { ValidateMigrationArguments(filePath, toFilePath); var migrator = new ProjectFileMigrator(); var sourceFile = new ProjectVersionedFile(filePath); migrator.Migrate(sourceFile, currentDatabaseVersion, toFilePath); System.Console.WriteLine(Resources.CommandMigrate_Successful_Migration_From_Location_0_To_Location_1_Version_2, filePath, toFilePath, currentDatabaseVersion); }
public void Constructor_ValidfilePath_ExpectedProperties() { // Setup string filePath = TestHelper.GetTestDataPath(nameof(Constructor_ValidfilePath_ExpectedProperties)); // Call var versionedFile = new ProjectVersionedFile(filePath); // Assert Assert.AreEqual(filePath, versionedFile.Location); }
public void GetVersion_ParameteredConstructor_ExpectedProperties(string file, string expectedVersion) { // Setup string filePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Migration.Core, file); var sourceFile = new ProjectVersionedFile(filePath); // Call string version = sourceFile.GetVersion(); // Assert Assert.AreEqual(expectedVersion, version); }
public void NeedsMigrate_NeedsMigrate_ReturnsTrue() { // Setup string sourceFilePath = ProjectMigrationTestHelper.GetOutdatedSupportedProjectFilePath(); var versionedFile = new ProjectVersionedFile(sourceFilePath); var migrator = new ProjectFileMigrator(); // Call bool needsMigrate = migrator.NeedsMigrate(versionedFile, "17.1"); // Assert Assert.IsTrue(needsMigrate); }
public void Given164Project_WhenUpgradedTo171_ThenProjectAsExpected() { // Given string sourceFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Migration.Core, "MigrationTestProject164.rtd"); var fromVersionedFile = new ProjectVersionedFile(sourceFilePath); string targetFilePath = TestHelper.GetScratchPadPath(nameof(Given164Project_WhenUpgradedTo171_ThenProjectAsExpected)); string logFilePath = TestHelper.GetScratchPadPath(string.Concat(nameof(Given164Project_WhenUpgradedTo171_ThenProjectAsExpected), ".log")); var migrator = new ProjectFileMigrator { LogPath = logFilePath }; using (new FileDisposeHelper(logFilePath)) using (new FileDisposeHelper(targetFilePath)) { // When migrator.Migrate(fromVersionedFile, newVersion, targetFilePath); // Then using (var reader = new MigratedDatabaseReader(targetFilePath)) { AssertTablesContentMigrated(reader, sourceFilePath); AssertDuneErosionFailureMechanism(reader); AssertClosingStructuresFailureMechanism(reader, sourceFilePath); AssertGrassCoverErosionInwardsFailureMechanism(reader); AssertGrassCoverErosionOutwardsFailureMechanism(reader); AssertHeightStructuresFailureMechanism(reader); AssertPipingFailureMechanism(reader); AssertStabilityPointStructuresFailureMechanism(reader); AssertStabilityStoneCoverFailureMechanism(reader); AssertWaveImpactAsphaltCoverFailureMechanism(reader); AssertHydraulicBoundaryLocations(reader); AssertDikeProfiles(reader); AssertForeshoreProfiles(reader); AssertStochasticSoilModels(reader); AssertSurfaceLines(reader); AssertSoilLayers(reader, sourceFilePath); AssertBackgroundData(reader); AssertVersions(reader); AssertDatabase(reader); } AssertLogDatabase(logFilePath); } }
private static IEnumerable <TestCaseData> ProjectFilesToMigrate() { string unsupportedProjectFilePath = ProjectMigrationTestHelper.GetOutdatedUnSupportedProjectFilePath(); var unsupportedVersionedFile = new ProjectVersionedFile(unsupportedProjectFilePath); string unsupportedVersion = unsupportedVersionedFile.GetVersion(); string supportedProjectFilePath = ProjectMigrationTestHelper.GetOutdatedSupportedProjectFilePath(); var supportedVersionedFile = new ProjectVersionedFile(supportedProjectFilePath); string supportedVersion = supportedVersionedFile.GetVersion(); yield return(new TestCaseData(unsupportedProjectFilePath, unsupportedVersion, false).SetName("UnsupportedProjectVersion")); yield return(new TestCaseData(supportedProjectFilePath, supportedVersion, true).SetName("SupportedProjectVersion")); }
public void GetVersion_FileDoesNotExist_ThrowsCriticalFileReadException() { // Setup string filePath = TestHelper.GetTestDataPath(nameof(GetVersion_FileDoesNotExist_ThrowsCriticalFileReadException)); var sourceFile = new ProjectVersionedFile(filePath); // Precondition Assert.IsFalse(File.Exists(filePath), $"File should not exist at location '{filePath}'"); // Call TestDelegate call = () => sourceFile.GetVersion(); // Assert Assert.Throws <CriticalFileReadException>(call); }
public void Migrate_UnsupportedVersion_ThrowsCriticalDatabaseMigrationException() { // Setup string sourceFilePath = ProjectMigrationTestHelper.GetOutdatedUnSupportedProjectFilePath(); var fromVersionedFile = new ProjectVersionedFile(sourceFilePath); string targetFilePath = TestHelper.GetScratchPadPath(nameof(Migrate_UnsupportedVersion_ThrowsCriticalDatabaseMigrationException)); var migrator = new ProjectFileMigrator(); // Call TestDelegate call = () => migrator.Migrate(fromVersionedFile, "17.1", targetFilePath); // Assert string message = Assert.Throws <CriticalMigrationException>(call).Message; Assert.AreEqual("Het migreren van een projectbestand met versie '8' naar versie '17.1' is niet ondersteund.", message); }
public void Migrate_TargetFilePathEqualsSourcePath_ThrowsCriticalDatabaseMigrationException() { // Setup const string newVersion = "17.1"; string sourceFilePath = ProjectMigrationTestHelper.GetOutdatedSupportedProjectFilePath(); var fromVersionedFile = new ProjectVersionedFile(sourceFilePath); var migrator = new ProjectFileMigrator(); // Call TestDelegate call = () => migrator.Migrate(fromVersionedFile, newVersion, sourceFilePath); // Assert var exception = Assert.Throws <CriticalMigrationException>(call); Assert.AreEqual("Het doelprojectpad moet anders zijn dan het bronprojectpad.", exception.Message); }
public void GetVersion_FileCannotBeRead_ThrowsCriticalFileReadException() { // Setup string file = Path.GetRandomFileName(); string filePath = TestHelper.GetScratchPadPath(file); var sourceFile = new ProjectVersionedFile(filePath); using (var fileDisposeHelper = new FileDisposeHelper(filePath)) { fileDisposeHelper.LockFiles(); // Call TestDelegate call = () => sourceFile.GetVersion(); // Assert Assert.Throws <CriticalFileReadException>(call); } }
private static void IsVersionSupportedCommand(string location) { ValidateIsVersionSupportedArgument(location); var versionedFile = new ProjectVersionedFile(location); var migrator = new ProjectFileMigrator(); string version = versionedFile.GetVersion(); bool isSupported = migrator.IsVersionSupported(version); if (isSupported) { System.Console.WriteLine(Resources.CommandSupported_File_Able_To_Migrate_To_Version_0, currentDatabaseVersion); } else { ConsoleHelper.WriteErrorLine(MigrationCoreStorageResources.Migrate_From_Version_0_To_Version_1_Not_Supported, version, currentDatabaseVersion); } }
public void GivenProject_WhenSpecialCharacterInPath_DoesNotThrowException(string sourceFile, string newVersion) { // Given string fileToCopy = Path.Combine(testDataPath, sourceFile); string sourceFilePath = TestHelper.GetScratchPadPath($"\'[]!`~@#$%^€&()-_=+;, {sourceFile}"); File.Copy(fileToCopy, sourceFilePath, true); // Precondition Assert.IsTrue(File.Exists(sourceFilePath)); var fromVersionedFile = new ProjectVersionedFile(sourceFilePath); string name = $"{nameof(GivenProject_WhenSpecialCharacterInPath_DoesNotThrowException)} \'[]!`~@#$%^€&()-_=+;,"; string targetFilePath = TestHelper.GetScratchPadPath(name); string logFilePath = TestHelper.GetScratchPadPath(string.Concat(name, sourceFile, ".log")); var migrator = new ProjectFileMigrator { LogPath = logFilePath }; try { using (new FileDisposeHelper(logFilePath)) using (new FileDisposeHelper(targetFilePath)) { // When TestDelegate call = () => migrator.Migrate(fromVersionedFile, newVersion, targetFilePath); // Then Assert.DoesNotThrow(call); } } finally { File.Delete(sourceFilePath); } }
public void Migrate_ValidFilesWithNonExistingLogFile_ThrowsCriticalDatabaseMigrationException() { // Setup const string newVersion = "17.1"; string sourceFilePath = ProjectMigrationTestHelper.GetOutdatedSupportedProjectFilePath(); var fromVersionedFile = new ProjectVersionedFile(sourceFilePath); string targetFilePath = TestHelper.GetScratchPadPath(nameof(Migrate_ValidFilesWithNonExistingLogFile_ThrowsCriticalDatabaseMigrationException)); string logFilePath = TestHelper.GetScratchPadPath(string.Concat(nameof(Migrate_ValidFilesWithNonExistingLogFile_ThrowsCriticalDatabaseMigrationException), ".log")); var migrator = new ProjectFileMigrator { LogPath = logFilePath }; using (new FileDisposeHelper(targetFilePath)) { // Call TestDelegate call = () => migrator.Migrate(fromVersionedFile, newVersion, targetFilePath); // Assert var exception = Assert.Throws <CriticalMigrationException>(call); Assert.IsInstanceOf <SQLiteException>(exception.InnerException); } }
public MigrationRequired ShouldMigrate(string filePath) { if (filePath == null) { throw new ArgumentNullException(nameof(filePath)); } ValidateProjectPath(filePath, nameof(filePath), Resources.ProjectMigrator_Source_Descriptor); var versionedFile = new ProjectVersionedFile(filePath); string version = versionedFile.GetVersion(); if (version.Equals(currentDatabaseVersion)) { return(MigrationRequired.No); } if (!fileMigrator.IsVersionSupported(version)) { string errorMessage = string.Format(MigrationCoreStorageResources.Migrate_From_Version_0_To_Version_1_Not_Supported, version, currentDatabaseVersion); log.Error(errorMessage); return(MigrationRequired.NotSupported); } string query = string.Format(Resources.ProjectMigrator_Migrate_Outdated_project_file_update_to_current_version_0_inquire, currentDatabaseVersion); if (inquiryHelper.InquireContinuation(query)) { return(MigrationRequired.Yes); } GenerateMigrationCancelledLogMessage(filePath); return(MigrationRequired.Aborted); }
public void GivenEmpty164Project_WhenNoChangesMadeAndMigratingToLatestVersion_ThenLogDatabaseContainsMessagesSayingNoChangesMade() { // Given string sourceFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Migration.Core, "Empty valid Release 16.4.rtd"); var fromVersionedFile = new ProjectVersionedFile(sourceFilePath); string targetFilePath = TestHelper.GetScratchPadPath( nameof(GivenEmpty164Project_WhenNoChangesMadeAndMigratingToLatestVersion_ThenLogDatabaseContainsMessagesSayingNoChangesMade)); string logFilePath = TestHelper.GetScratchPadPath( string.Concat(nameof(GivenEmpty164Project_WhenNoChangesMadeAndMigratingToLatestVersion_ThenLogDatabaseContainsMessagesSayingNoChangesMade), ".log")); var migrator = new ProjectFileMigrator { LogPath = logFilePath }; using (new FileDisposeHelper(logFilePath)) using (new FileDisposeHelper(targetFilePath)) { // When migrator.Migrate(fromVersionedFile, latestVersion, targetFilePath); using (var reader = new MigrationLogDatabaseReader(logFilePath)) { ReadOnlyCollection <MigrationLogMessage> messages = reader.GetMigrationLogMessages(); Assert.AreEqual(16, messages.Count); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("5", "17.1", "Gevolgen van de migratie van versie 16.4 naar versie 17.1:"), messages[0]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("5", "17.1", "* Geen aanpassingen."), messages[1]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("17.1", "17.2", "Gevolgen van de migratie van versie 17.1 naar versie 17.2:"), messages[2]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("17.1", "17.2", "* Geen aanpassingen."), messages[3]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("17.2", "17.3", "Gevolgen van de migratie van versie 17.2 naar versie 17.3:"), messages[4]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("17.2", "17.3", "* Geen aanpassingen."), messages[5]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("17.3", "18.1", "Gevolgen van de migratie van versie 17.3 naar versie 18.1:"), messages[6]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("17.3", "18.1", "* Geen aanpassingen."), messages[7]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("18.1", "19.1", "Gevolgen van de migratie van versie 18.1 naar versie 19.1:"), messages[8]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("18.1", "19.1", "* Geen aanpassingen."), messages[9]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("19.1", "21.1", "Gevolgen van de migratie van versie 19.1 naar versie 21.1:"), messages[10]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("19.1", "21.1", "* Geen aanpassingen."), messages[11]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("21.1", "22.1", "Gevolgen van de migratie van versie 21.1 naar versie 22.1:"), messages[12]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("21.1", "22.1", "* De oorspronkelijke faalmechanismen zijn omgezet naar het nieuwe formaat.\r\n* Alle toetsoordelen zijn verwijderd."), messages[13]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("22.1", $"{latestVersion}", $"Gevolgen van de migratie van versie 22.1 naar versie {latestVersion}:"), messages[14]); MigrationLogTestHelper.AssertMigrationLogMessageEqual( new MigrationLogMessage("22.1", $"{latestVersion}", "* Geen aanpassingen."), messages[15]); } } }
public void GivenMigratorAndSupportedFile_WhenValidTargetLocationGiven_ThenFileSuccessfullyMigrates() { // Given string sourceFilePath = ProjectMigrationTestHelper.GetOutdatedSupportedProjectFilePath(); string targetFile = $"{nameof(ProjectMigratorTest)}." + $"{nameof(GivenMigratorAndSupportedFile_WhenValidTargetLocationGiven_ThenFileSuccessfullyMigrates)}.rtd"; string targetFilePath = Path.Combine(TestHelper.GetScratchPadPath(), testDirectory, targetFile); var mocks = new MockRepository(); var inquiryHelper = mocks.Stub <IInquiryHelper>(); mocks.ReplayAll(); var logDirectory = $"{nameof(GivenMigratorAndSupportedFile_WhenValidTargetLocationGiven_ThenFileSuccessfullyMigrates)}_log"; using (new DirectoryDisposeHelper(TestHelper.GetScratchPadPath(), logDirectory)) using (new UseCustomSettingsHelper(new TestSettingsHelper { TempPath = TestHelper.GetScratchPadPath(logDirectory) })) { var migrator = new ProjectMigrator(inquiryHelper); var migrationSuccessful = false; // When void Call() => migrationSuccessful = migrator.Migrate(sourceFilePath, targetFilePath); // Then string expectedMessage = $"Het projectbestand '{sourceFilePath}' is succesvol gemigreerd naar '{targetFilePath}' " + $"(versie {currentDatabaseVersion})."; var migrationLog = new StringBuilder(); migrationLog.AppendLine("Door de migratie is het project aangepast. Bekijk het migratierapport door op details te klikken."); migrationLog.AppendLine("Gevolgen van de migratie van versie 16.4 naar versie 17.1:"); migrationLog.AppendLine("* Alle berekende resultaten zijn verwijderd."); migrationLog.AppendLine("* Traject: 'assessmentSection'"); migrationLog.AppendLine(" + Faalmechanisme: 'Grasbekleding erosie kruin en binnentalud'"); migrationLog.AppendLine(" - De naam van dijkprofiel '1' is veranderd naar '102' en wordt ook gebruikt als ID."); migrationLog.AppendLine(" - De naam van dijkprofiel '10' is veranderd naar '104' en wordt ook gebruikt als ID."); migrationLog.AppendLine("Gevolgen van de migratie van versie 17.1 naar versie 17.2:"); migrationLog.AppendLine("* Traject: 'assessmentSection'"); migrationLog.AppendLine(" + De omgevingswaarde is gelijk gesteld aan 1/30000."); migrationLog.AppendLine(" + De signaleringsparameter is gelijk gesteld aan 1/30000 (voorheen de waarde van de norm)."); migrationLog.AppendLine(" + De norm van het traject is gelijk gesteld aan de signaleringsparameter."); migrationLog.AppendLine(" + Faalmechanisme: 'Hoogte kunstwerk'"); migrationLog.AppendLine(" - Het ID van kunstwerk 'Id' is veranderd naar 'Id00003'."); migrationLog.AppendLine(" - Het ID van voorlandprofiel 'FP' is veranderd naar 'FP7'."); migrationLog.AppendLine(" + Faalmechanisme: 'Betrouwbaarheid sluiting kunstwerk'"); migrationLog.AppendLine(" - Het ID van kunstwerk 'id' is veranderd naar 'id00002'."); migrationLog.AppendLine(" - Het ID van voorlandprofiel 'FP' is veranderd naar 'FP8'."); migrationLog.AppendLine(" + Faalmechanisme: 'Golfklappen op asfaltbekleding'"); migrationLog.AppendLine(" - Het ID van voorlandprofiel 'FP' is veranderd naar 'FP9'."); migrationLog.AppendLine(" + Faalmechanisme: 'Grasbekleding erosie buitentalud'"); migrationLog.AppendLine(" - Het ID van voorlandprofiel 'FP' is veranderd naar 'FP10'."); migrationLog.AppendLine(" + Faalmechanisme: 'Stabiliteit steenzetting'"); migrationLog.AppendLine(" - Het ID van voorlandprofiel 'FP' is veranderd naar 'FP11'."); migrationLog.AppendLine(" + Faalmechanisme: 'Sterkte en stabiliteit puntconstructies'"); migrationLog.AppendLine(" - Het ID van kunstwerk 'anId' is veranderd naar 'anId000000002'."); migrationLog.AppendLine(" - Het ID van voorlandprofiel 'FP' is veranderd naar 'FP12'."); migrationLog.AppendLine("* Traject: 'Demo traject'"); migrationLog.AppendLine(" + De omgevingswaarde is gelijk gesteld aan 1/1000."); migrationLog.AppendLine(" + De signaleringsparameter is gelijk gesteld aan 1/30000 (voorheen de waarde van de norm)."); migrationLog.AppendLine(" + De norm van het traject is gelijk gesteld aan de signaleringsparameter."); migrationLog.AppendLine("Gevolgen van de migratie van versie 17.2 naar versie 17.3:"); migrationLog.AppendLine("* Geen aanpassingen."); migrationLog.AppendLine("Gevolgen van de migratie van versie 17.3 naar versie 18.1:"); migrationLog.AppendLine("* Traject: 'assessmentSection'"); migrationLog.AppendLine(" + Faalmechanisme: 'Piping'"); migrationLog.AppendLine(" - De waarde '3.2' voor de verschuiving van parameter 'Verzadigd gewicht' van ondergrondlaag 'HotPinkLayer' is ongeldig en is veranderd naar NaN."); migrationLog.AppendLine(" + Faalmechanisme: 'Sterkte en stabiliteit langsconstructies'"); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Technische innovaties'"); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Wateroverdruk bij asfaltbekleding'"); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Betrouwbaarheid sluiting kunstwerk'"); migrationLog.AppendLine(" - De waarde van '0' van parameter 'Aantal identieke doorstroomopeningen' van berekening 'Nieuwe berekening' is ongeldig en is veranderd naar 1."); migrationLog.AppendLine(" + Faalmechanisme: 'Macrostabiliteit buitenwaarts'"); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Golfklappen op asfaltbekleding'"); migrationLog.AppendLine(" - Alle resultaten voor de gedetailleerde toets van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Grasbekleding erosie buitentalud'"); migrationLog.AppendLine(" - Alle resultaten voor de gedetailleerde toets van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Grasbekleding afschuiven binnentalud'"); migrationLog.AppendLine(" - Alle resultaten voor de gedetailleerde toets van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Grasbekleding afschuiven buitentalud'"); migrationLog.AppendLine(" - Alle resultaten voor de gedetailleerde toets van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Microstabiliteit'"); migrationLog.AppendLine(" - Alle resultaten voor de gedetailleerde toets van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Piping bij kunstwerk'"); migrationLog.AppendLine(" - Alle resultaten voor de gedetailleerde toets van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Stabiliteit steenzetting'"); migrationLog.AppendLine(" - Alle resultaten voor de gedetailleerde toets van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" + Faalmechanisme: 'Duinafslag'"); migrationLog.AppendLine(" - Alle resultaten voor de gedetailleerde toets van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine(" - Alle resultaten voor de toets op maat van dit faalmechanisme konden niet worden omgezet naar een geldig resultaat en zijn verwijderd."); migrationLog.AppendLine("Gevolgen van de migratie van versie 18.1 naar versie 19.1:"); migrationLog.AppendLine("* Traject: 'assessmentSection'"); migrationLog.AppendLine(" + Er worden standaardwaarden conform WBI2017 gebruikt voor de HLCD bestandsinformatie."); migrationLog.AppendLine(" + De waarde voor de transparantie van de achtergrondkaart is aangepast naar 0.60."); migrationLog.AppendLine("* Traject: 'Demo traject'"); migrationLog.AppendLine(" + Er worden standaardwaarden conform WBI2017 gebruikt voor de HLCD bestandsinformatie."); migrationLog.AppendLine(" + De waarde voor de transparantie van de achtergrondkaart is aangepast naar 0.60."); migrationLog.AppendLine("Gevolgen van de migratie van versie 19.1 naar versie 21.1:"); migrationLog.AppendLine("* Geen aanpassingen."); migrationLog.AppendLine("Gevolgen van de migratie van versie 21.1 naar versie 22.1:"); migrationLog.AppendLine("* De oorspronkelijke faalmechanismen zijn omgezet naar het nieuwe formaat.\r\n* Alle toetsoordelen zijn verwijderd."); migrationLog.AppendLine("* Traject: 'assessmentSection'"); migrationLog.AppendLine(" + Faalmechanisme: 'Grasbekleding erosie kruin en binnentalud'"); migrationLog.AppendLine(" - De waarden van de doelkans voor HBN en overslagdebiet zijn veranderd naar de trajectnorm."); migrationLog.AppendLine("* Traject: 'Demo traject'"); migrationLog.AppendLine(" + Faalmechanisme: 'Grasbekleding erosie kruin en binnentalud'"); migrationLog.AppendLine(" - De waarden van de doelkans voor HBN en overslagdebiet zijn veranderd naar de trajectnorm."); migrationLog.AppendLine("Gevolgen van de migratie van versie 22.1 naar versie 22.2:"); migrationLog.AppendLine("* Geen aanpassingen."); Tuple <string, LogLevelConstant>[] expectedLogMessagesAndLevel = { Tuple.Create(expectedMessage, LogLevelConstant.Info), Tuple.Create(migrationLog.ToString(), LogLevelConstant.Info) }; TestHelper.AssertLogMessagesWithLevelAreGenerated(Call, expectedLogMessagesAndLevel, 2); Assert.IsTrue(migrationSuccessful); var toVersionedFile = new ProjectVersionedFile(targetFilePath); Assert.AreEqual(currentDatabaseVersion, toVersionedFile.GetVersion()); } string logPath = Path.Combine(TestHelper.GetScratchPadPath(), logDirectory, "RiskeerMigrationLog.sqlite"); Assert.IsFalse(File.Exists(logPath)); mocks.VerifyAll(); }