public void Import_CancelOfImportWhenAddingDataToModel_ContinuesImportAndLogs() { // Setup var mocks = new MockRepository(); var failureMechanism = mocks.Stub <IFailureMechanism>(); var updateStrategy = mocks.StrictMock <IFailureMechanismSectionUpdateStrategy>(); updateStrategy.Expect(us => us.UpdateSectionsWithImportedData(null, null)) .IgnoreArguments() .WhenCalled(invocation => { CollectionAssert.IsNotEmpty((IEnumerable <FailureMechanismSection>)invocation.Arguments[0]); }) .Return(Enumerable.Empty <IObservable>()); var messageProvider = mocks.StrictMock <IImporterMessageProvider>(); messageProvider.Expect(mp => mp.GetAddDataToModelProgressText()).Return(expectedAddDataToModelProgressText); mocks.ReplayAll(); string referenceLineFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("ReferenceLine", "traject_1-1.shp")); string sectionsFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("FailureMechanismSections", "traject_1-1_vakken.shp")); ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); importer.SetProgressChanged((description, step, steps) => { if (description.Contains(expectedAddDataToModelProgressText)) { importer.Cancel(); } }); var importSuccessful = true; // Call void Call() => importSuccessful = importer.Import(); // Assert TestHelper.AssertLogMessageIsGenerated(Call, "Huidige actie was niet meer te annuleren en is daarom voortgezet.", 2); Assert.IsTrue(importSuccessful); mocks.VerifyAll(); }
public void Import_ReuseOfCanceledImportToValidTargetWithValidFile_TrueAndExpectedImportedData() { // Setup string referenceLineFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("ReferenceLine", "traject_1-1.shp")); string sectionsFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("FailureMechanismSections", "traject_1-1_vakken.shp")); ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var mocks = new MockRepository(); var failureMechanism = mocks.Stub <IFailureMechanism>(); var updateStrategy = mocks.StrictMock <IFailureMechanismSectionUpdateStrategy>(); updateStrategy.Expect(us => us.UpdateSectionsWithImportedData(null, null)) .IgnoreArguments() .WhenCalled(invocation => { var sections = (IEnumerable <FailureMechanismSection>)invocation.Arguments[0]; Assert.AreEqual(62, sections.Count()); AssertSectionsAreValidForReferenceLine(sections, importReferenceLine); Assert.AreEqual(sectionsFilePath, invocation.Arguments[1]); }) .Return(Enumerable.Empty <IObservable>()); var messageProvider = mocks.Stub <IImporterMessageProvider>(); mocks.ReplayAll(); var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); importer.SetProgressChanged((description, step, steps) => importer.Cancel()); Assert.IsFalse(importer.Import()); importer.SetProgressChanged(null); // Call var importSuccessful = false; void Call() => importSuccessful = importer.Import(); // Assert TestHelper.AssertLogMessageIsGenerated(Call, $"Gegevens zijn geïmporteerd vanuit bestand '{sectionsFilePath}'.", 1); Assert.IsTrue(importSuccessful); mocks.VerifyAll(); }
public void Import_CancelOfImportWhenValidatingImportedSections_CancelsImportAndLogs() { // Setup var mocks = new MockRepository(); var failureMechanism = mocks.Stub <IFailureMechanism>(); var updateStrategy = mocks.StrictMock <IFailureMechanismSectionUpdateStrategy>(); var messageProvider = mocks.StrictMock <IImporterMessageProvider>(); messageProvider.Expect(mp => mp.GetCancelledLogMessageText(sectionsTypeDescriptor)).Return(expectedCancelledText); mocks.ReplayAll(); string referenceLineFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("ReferenceLine", "traject_1-1.shp")); string sectionsFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("FailureMechanismSections", "traject_1-1_vakken.shp")); ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); importer.SetProgressChanged((description, step, steps) => { if (description.Contains("Valideren ingelezen vakindeling.")) { importer.Cancel(); } }); var importSuccessful = true; // Call void Call() => importSuccessful = importer.Import(); // Assert TestHelper.AssertLogMessageIsGenerated(Call, expectedCancelledText, 1); Assert.IsFalse(importSuccessful); mocks.VerifyAll(); }