Index: Riskeer/Common/test/Riskeer.Common.IO.Test/FileImporters/FailureMechanismSectionsImporterTest.cs =================================================================== diff -u -r4a91111c1fda2c629fef0f552a2b33d9dbb5df92 -r19bb8c4be68d2bf783192372ed5200cc5d6ad831 --- Riskeer/Common/test/Riskeer.Common.IO.Test/FileImporters/FailureMechanismSectionsImporterTest.cs (.../FailureMechanismSectionsImporterTest.cs) (revision 4a91111c1fda2c629fef0f552a2b33d9dbb5df92) +++ Riskeer/Common/test/Riskeer.Common.IO.Test/FileImporters/FailureMechanismSectionsImporterTest.cs (.../FailureMechanismSectionsImporterTest.cs) (revision 19bb8c4be68d2bf783192372ed5200cc5d6ad831) @@ -53,11 +53,13 @@ // Setup var mocks = new MockRepository(); var failureMechanism = mocks.Stub(); + var updateStrategy = mocks.Stub(); var messageProvider = mocks.StrictMock(); mocks.ReplayAll(); // Call - TestDelegate call = () => new FailureMechanismSectionsImporter(failureMechanism, null, "", new TestFailureMechanismSectionUpdateStrategy(), messageProvider); + TestDelegate call = () => new FailureMechanismSectionsImporter( + failureMechanism, null, "", updateStrategy, messageProvider); // Assert string paramName = Assert.Throws(call).ParamName; @@ -75,7 +77,8 @@ mocks.ReplayAll(); // Call - TestDelegate call = () => new FailureMechanismSectionsImporter(failureMechanism, new ReferenceLine(), "", null, messageProvider); + TestDelegate call = () => new FailureMechanismSectionsImporter( + failureMechanism, new ReferenceLine(), "", null, messageProvider); // Assert string paramName = Assert.Throws(call).ParamName; @@ -89,13 +92,12 @@ // Setup var mocks = new MockRepository(); var failureMechanism = mocks.Stub(); + var updateStrategy = mocks.Stub(); mocks.ReplayAll(); // Call - TestDelegate call = () => new FailureMechanismSectionsImporter(failureMechanism, - new ReferenceLine(), - "", - new TestFailureMechanismSectionUpdateStrategy(), null); + TestDelegate call = () => new FailureMechanismSectionsImporter( + failureMechanism, new ReferenceLine(), "", updateStrategy, null); // Assert string paramName = Assert.Throws(call).ParamName; @@ -109,13 +111,14 @@ // Setup var mocks = new MockRepository(); var failureMechanism = mocks.Stub(); + var updateStrategy = mocks.Stub(); var messageProvider = mocks.StrictMock(); mocks.ReplayAll(); var referenceLine = new ReferenceLine(); // Call - var importer = new FailureMechanismSectionsImporter(failureMechanism, referenceLine, "", new TestFailureMechanismSectionUpdateStrategy(), messageProvider); + var importer = new FailureMechanismSectionsImporter(failureMechanism, referenceLine, "", updateStrategy, messageProvider); // Assert Assert.IsInstanceOf>(importer); @@ -128,31 +131,34 @@ public void Import_ValidFileCorrespondingToReferenceLine_CallsUpdateStrategy(string referenceLineFileName, string sectionsFileName, int sectionCount) { // Setup + string sectionsFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, + Path.Combine("FailureMechanismSections", sectionsFileName)); + string referenceLineFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, + Path.Combine("ReferenceLine", referenceLineFileName)); + ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); + var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); + updateStrategy.Expect(us => us.UpdateSectionsWithImportedData(null, null)) + .IgnoreArguments() + .WhenCalled(invocation => + { + var sections = (IEnumerable) invocation.Arguments[0]; + Assert.AreEqual(sectionCount, sections.Count()); + AssertSectionsAreValidForReferenceLine(sections, importReferenceLine); + Assert.AreEqual(sectionsFilePath, invocation.Arguments[1]); + }); var messageProvider = mocks.Stub(); mocks.ReplayAll(); - string referenceLineFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, - Path.Combine("ReferenceLine", referenceLineFileName)); - string sectionsFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, - Path.Combine("FailureMechanismSections", sectionsFileName)); - - ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); // Call bool importSuccessful = importer.Import(); // Assert Assert.IsTrue(importSuccessful); - - Assert.AreEqual(sectionsFilePath, updateStrategy.SourcePath); - IEnumerable sections = updateStrategy.ImportedFailureMechanismSections; - Assert.AreEqual(sectionCount, sections.Count()); - AssertSectionsAreValidForReferenceLine(sections, importReferenceLine); mocks.VerifyAll(); } @@ -164,32 +170,36 @@ string affectedSection) { // Setup - var mocks = new MockRepository(); - var messageProvider = mocks.Stub(); - mocks.ReplayAll(); - - string fileName = $"Artificial_referencelijn_testA_ValidVakken_{affectedSection}.shp"; + var fileName = $"Artificial_referencelijn_testA_ValidVakken_{affectedSection}.shp"; string referenceLineFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("ReferenceLine", "Artificial_referencelijn_testA.shp")); string sectionsFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("FailureMechanismSections", fileName)); ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); + + var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); + updateStrategy.Expect(us => us.UpdateSectionsWithImportedData(null, null)) + .IgnoreArguments() + .WhenCalled(invocation => + { + var sections = (IEnumerable) invocation.Arguments[0]; + Assert.AreEqual(7, sections.Count()); + AssertSectionsAreValidForReferenceLine(sections, importReferenceLine); + Assert.AreEqual(sectionsFilePath, invocation.Arguments[1]); + }); + var messageProvider = mocks.Stub(); + mocks.ReplayAll(); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); // Call bool importSuccessful = importer.Import(); // Assert Assert.IsTrue(importSuccessful); - - IEnumerable sections = updateStrategy.ImportedFailureMechanismSections; - Assert.AreEqual(7, sections.Count()); - AssertSectionsAreValidForReferenceLine(sections, importReferenceLine); mocks.VerifyAll(); } @@ -198,6 +208,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.Stub(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetAddDataToModelProgressText()).Return(expectedAddDataToModelProgressText); mocks.ReplayAll(); @@ -212,7 +223,6 @@ var progressChangeNotifications = new List(); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); importer.SetProgressChanged((description, step, steps) => progressChangeNotifications.Add(new ProgressNotification(description, step, steps))); @@ -239,6 +249,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetUpdateDataFailedLogMessageText(sectionsTypeDescriptor)).Return(expectedUpdateDataFailedText); mocks.ReplayAll(); @@ -250,8 +261,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); // Call @@ -263,7 +272,6 @@ $@"Fout bij het lezen van bestand '{sectionsFilePath}': bestandspad mag niet verwijzen naar een lege bestandsnaam."); TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -272,6 +280,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetUpdateDataFailedLogMessageText(sectionsTypeDescriptor)).Return(expectedUpdateDataFailedText); mocks.ReplayAll(); @@ -283,8 +292,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); // Call @@ -295,7 +302,6 @@ string expectedMessage = string.Format(expectedUpdateDataFailedText, $@"Fout bij het lezen van bestand '{sectionsFilePath}': het bestand bestaat niet."); TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -304,6 +310,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetUpdateDataFailedLogMessageText(sectionsTypeDescriptor)).Return(expectedUpdateDataFailedText); mocks.ReplayAll(); @@ -316,8 +323,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); // Call @@ -328,7 +333,6 @@ string expectedMessage = string.Format(expectedUpdateDataFailedText, "Het bestand heeft geen vakindeling"); TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -339,6 +343,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetUpdateDataFailedLogMessageText(sectionsTypeDescriptor)).Return(expectedUpdateDataFailedText); mocks.ReplayAll(); @@ -352,8 +357,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); // Call @@ -364,7 +367,6 @@ string expectedMessage = string.Format(expectedUpdateDataFailedText, "De geografische ligging van ieder vak moet overeenkomen met de ligging van (een deel van) de referentielijn"); TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -375,6 +377,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetUpdateDataFailedLogMessageText(sectionsTypeDescriptor)).Return(expectedUpdateDataFailedText); mocks.ReplayAll(); @@ -388,8 +391,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); // Call @@ -401,7 +402,6 @@ "De geografische ligging van ieder vak moet overeenkomen met de ligging van (een deel van) de referentielijn"); TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -410,6 +410,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetUpdateDataFailedLogMessageText(sectionsTypeDescriptor)).Return(expectedUpdateDataFailedText); mocks.ReplayAll(); @@ -422,8 +423,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); // Call @@ -434,7 +433,6 @@ string expectedMessage = string.Format(expectedUpdateDataFailedText, "De opgetelde lengte van de vakken moet overeenkomen met de trajectlengte"); TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -443,6 +441,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetUpdateDataFailedLogMessageText(sectionsTypeDescriptor)).Return(expectedUpdateDataFailedText); mocks.ReplayAll(); @@ -455,8 +454,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); // Call @@ -467,7 +464,6 @@ string expectedMessage = string.Format(expectedUpdateDataFailedText, "Het bestand moet vakken bevatten die allen op elkaar aansluiten"); TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -476,6 +472,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetUpdateDataFailedLogMessageText(sectionsTypeDescriptor)).Return(expectedUpdateDataFailedText); mocks.ReplayAll(); @@ -488,8 +485,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); // Call @@ -500,7 +495,6 @@ string expectedMessage = string.Format(expectedUpdateDataFailedText, "De opgetelde lengte van de vakken moet overeenkomen met de trajectlengte"); TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -509,15 +503,14 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); mocks.ReplayAll(); string sectionsFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("FailureMechanismSections", "vakindeling_Empty_Name_Value.shp")); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, new ReferenceLine(), sectionsFilePath, updateStrategy, messageProvider); // Call @@ -528,7 +521,6 @@ string expectedMessage = $"Fout bij het lezen van bestand '{sectionsFilePath}': voor één of meerdere vakken is geen naam opgegeven."; TestHelper.AssertLogMessageIsGenerated(call, expectedMessage, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -537,6 +529,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetCancelledLogMessageText(sectionsTypeDescriptor)).Return(expectedCancelledText); mocks.ReplayAll(); @@ -549,8 +542,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); importer.SetProgressChanged((description, step, steps) => { @@ -568,7 +559,6 @@ // Assert TestHelper.AssertLogMessageIsGenerated(call, expectedCancelledText, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -577,6 +567,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetCancelledLogMessageText(sectionsTypeDescriptor)).Return(expectedCancelledText); mocks.ReplayAll(); @@ -589,8 +580,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); importer.SetProgressChanged((description, step, steps) => { @@ -608,7 +597,6 @@ // Assert TestHelper.AssertLogMessageIsGenerated(call, expectedCancelledText, 1); Assert.IsFalse(importSuccessful); - Assert.IsFalse(updateStrategy.Updated); mocks.VerifyAll(); } @@ -617,6 +605,13 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); + updateStrategy.Expect(us => us.UpdateSectionsWithImportedData(null, null)) + .IgnoreArguments() + .WhenCalled(invocation => + { + CollectionAssert.IsNotEmpty((IEnumerable) invocation.Arguments[0]); + }); var messageProvider = mocks.StrictMock(); messageProvider.Expect(mp => mp.GetAddDataToModelProgressText()).Return(expectedAddDataToModelProgressText); mocks.ReplayAll(); @@ -629,8 +624,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); importer.SetProgressChanged((description, step, steps) => { @@ -648,28 +641,35 @@ // Assert TestHelper.AssertLogMessageIsGenerated(call, "Huidige actie was niet meer te annuleren en is daarom voortgezet.", 2); Assert.IsTrue(importSuccessful); - CollectionAssert.IsNotEmpty(updateStrategy.ImportedFailureMechanismSections); mocks.VerifyAll(); } [Test] public void Import_ReuseOfCanceledImportToValidTargetWithValidFile_TrueAndExpectedImportedData() { // Setup - var mocks = new MockRepository(); - var messageProvider = mocks.Stub(); - 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 mocks = new MockRepository(); + var updateStrategy = mocks.StrictMock(); + updateStrategy.Expect(us => us.UpdateSectionsWithImportedData(null, null)) + .IgnoreArguments() + .WhenCalled(invocation => + { + var sections = (IEnumerable) invocation.Arguments[0]; + Assert.AreEqual(62, sections.Count()); + AssertSectionsAreValidForReferenceLine(sections, importReferenceLine); + Assert.AreEqual(sectionsFilePath, invocation.Arguments[1]); + }); + var messageProvider = mocks.Stub(); + mocks.ReplayAll(); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); importer.SetProgressChanged((description, step, steps) => importer.Cancel()); @@ -683,10 +683,6 @@ // Assert TestHelper.AssertLogMessageIsGenerated(call, $"Gegevens zijn geïmporteerd vanuit bestand '{sectionsFilePath}'.", 1); Assert.IsTrue(importSuccessful); - - IEnumerable sections = updateStrategy.ImportedFailureMechanismSections; - Assert.AreEqual(62, sections.Count()); - AssertSectionsAreValidForReferenceLine(sections, importReferenceLine); mocks.VerifyAll(); } @@ -695,6 +691,7 @@ { // Setup var mocks = new MockRepository(); + var updateStrategy = mocks.Stub(); var messageProvider = mocks.Stub(); var observable = mocks.StrictMock(); observable.Expect(o => o.UpdateObserver()); @@ -708,8 +705,6 @@ ReferenceLine importReferenceLine = ImportReferenceLine(referenceLineFilePath); var failureMechanism = new TestFailureMechanism(); - var updateStrategy = new TestFailureMechanismSectionUpdateStrategy(); - var importer = new FailureMechanismSectionsImporter(failureMechanism, importReferenceLine, sectionsFilePath, updateStrategy, messageProvider); importer.Import(); @@ -722,22 +717,6 @@ mocks.VerifyAll(); } - private class TestFailureMechanismSectionUpdateStrategy : IFailureMechanismSectionUpdateStrategy - { - public bool Updated { get; private set; } - - public string SourcePath { get; private set; } - - public IEnumerable ImportedFailureMechanismSections { get; private set; } - - public void UpdateSectionsWithImportedData(IEnumerable importedFailureMechanismSections, string sourcePath) - { - Updated = true; - SourcePath = sourcePath; - ImportedFailureMechanismSections = importedFailureMechanismSections; - } - } - private static ReferenceLine ImportReferenceLine(string referenceLineFilePath) { var referenceLine = new ReferenceLine();