public void Import_CancelOfImportWhilePerformingStep_CancelsImportAndLogs(int stepNumber) { // Setup var mocks = new MockRepository(); var handler = mocks.StrictMock <IHydraulicLocationConfigurationDatabaseUpdateHandler>(); handler.Stub(h => h.InquireConfirmation()).Return(true); mocks.ReplayAll(); HydraulicBoundaryDatabase hydraulicBoundaryDatabase = CreateHydraulicBoundaryDatabase(validHrdFilePath); var importer = new HydraulicLocationConfigurationDatabaseImporter(new HydraulicLocationConfigurationSettings(), handler, hydraulicBoundaryDatabase, validHlcdFilePath); importer.SetProgressChanged((description, currentStep, steps) => { if (currentStep == stepNumber) { importer.Cancel(); } }); // Call var importResult = true; Action call = () => importResult = importer.Import(); // Assert const string expectedMessage = "HLCD bestand importeren afgebroken. Geen gegevens gewijzigd."; TestHelper.AssertLogMessageWithLevelIsGenerated(call, Tuple.Create(expectedMessage, LogLevelConstant.Info), 1); Assert.IsFalse(importResult); mocks.VerifyAll(); }
public void Import_ValidFiles_ExpectedProgressNotifications() { // Setup var mocks = new MockRepository(); var handler = mocks.Stub <IHydraulicLocationConfigurationDatabaseUpdateHandler>(); handler.Stub(h => h.InquireConfirmation()).Return(true); handler.Stub(h => h.Update(null, null, false, null)).IgnoreArguments().Return(Enumerable.Empty <IObservable>()); mocks.ReplayAll(); var progressChangeNotifications = new List <ProgressNotification>(); HydraulicBoundaryDatabase hydraulicBoundaryDatabase = CreateHydraulicBoundaryDatabase(validHrdFilePath); var importer = new HydraulicLocationConfigurationDatabaseImporter(new HydraulicLocationConfigurationSettings(), handler, hydraulicBoundaryDatabase, validHlcdFilePath); importer.SetProgressChanged((description, step, steps) => progressChangeNotifications.Add(new ProgressNotification(description, step, steps))); // Call bool importResult = importer.Import(); // Assert Assert.IsTrue(importResult); var expectedProgressNotifications = new[] { new ProgressNotification("Inlezen van het hydraulische belastingen bestand.", 1, totalNumberOfSteps), new ProgressNotification("Inlezen van het hydraulische locatie configuratie bestand.", 2, totalNumberOfSteps), new ProgressNotification("Geïmporteerde data toevoegen aan het traject.", 3, totalNumberOfSteps) }; ProgressNotificationTestHelper.AssertProgressNotificationsAreEqual(expectedProgressNotifications, progressChangeNotifications); mocks.VerifyAll(); }
public void Import_CancelImportDuringAddReadDataToDataModel_ContinuesImportAndLogs() { // Setup var mocks = new MockRepository(); var handler = mocks.Stub <IHydraulicLocationConfigurationDatabaseUpdateHandler>(); handler.Stub(h => h.InquireConfirmation()).Return(true); handler.Stub(h => h.Update(null, null, false, null)).IgnoreArguments().Return(Enumerable.Empty <IObservable>()); mocks.ReplayAll(); HydraulicBoundaryDatabase hydraulicBoundaryDatabase = CreateHydraulicBoundaryDatabase(validHrdFilePath); var importer = new HydraulicLocationConfigurationDatabaseImporter(new HydraulicLocationConfigurationSettings(), handler, hydraulicBoundaryDatabase, validHlcdFilePath); importer.SetProgressChanged((description, step, steps) => { if (step == totalNumberOfSteps) { importer.Cancel(); } }); var importResult = true; // Call importer.Import(); Action call = () => importResult = importer.Import(); // Assert const string expectedMessage = "Huidige actie was niet meer te annuleren en is daarom voortgezet."; TestHelper.AssertLogMessageWithLevelIsGenerated(call, Tuple.Create(expectedMessage, LogLevelConstant.Warn), 2); Assert.IsTrue(importResult); mocks.VerifyAll(); }