private ReadResult <FailureMechanismSection> ReadFile(FailureMechanismSectionReader reader) { try { int count = reader.GetFailureMechanismSectionCount(); if (count == 0) { LogCriticalError(Resources.FailureMechanismSectionsImporter_ReadFile_File_is_empty); return(new ReadResult <FailureMechanismSection>(true)); } var importedSections = new FailureMechanismSection[count]; for (var i = 0; i < count; i++) { importedSections[i] = reader.ReadFailureMechanismSection(); } return(new ReadResult <FailureMechanismSection>(false) { Items = importedSections }); } catch (CriticalFileReadException e) { Log.Error(e.Message); return(new ReadResult <FailureMechanismSection>(true)); } }
public void GetFailureMechanismSectionCount_ValidFilePath_ReturnElementCount(string shapeFileName, int expectedElementCount) { // Setup string validFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("FailureMechanismSections", shapeFileName)); using (var reader = new FailureMechanismSectionReader(validFilePath)) { // Call int count = reader.GetFailureMechanismSectionCount(); // Assert Assert.AreEqual(expectedElementCount, count); } }
public void GetFailureMechanismSectionCount_FileLacksNameAttribute_ThrowCriticalFileReadException() { // Setup string validFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("FailureMechanismSections", "traject_227_vakken_LacksVaknaamAttribute.shp")); using (var reader = new FailureMechanismSectionReader(validFilePath)) { // Call TestDelegate call = () => reader.GetFailureMechanismSectionCount(); // Assert string message = Assert.Throws <CriticalFileReadException>(call).Message; string expectedMessage = $"Fout bij het lezen van bestand '{validFilePath}': het bestand heeft geen attribuut 'Vaknaam'. Dit attribuut is vereist."; Assert.AreEqual(expectedMessage, message); } }
public void ReadFailureMechanismSection_ValidFilePathAndForAllElements_CorrectSectionNameRead() { // Setup string validFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("FailureMechanismSections", "traject_1-1_vakken.shp")); using (var reader = new FailureMechanismSectionReader(validFilePath)) { int count = reader.GetFailureMechanismSectionCount(); for (var i = 0; i < count; i++) { // Call FailureMechanismSection section = reader.ReadFailureMechanismSection(); // Assert string expectedSectionName = $"1-1_{i}"; Assert.AreEqual(expectedSectionName, section.Name, $"Section name is not as expected at index {i}"); } } }
public void ReadFailureMechanismSection_ReadingToEndOfFile_ReturnNull(string shapeFileName) { // Setup string validFilePath = TestHelper.GetTestDataPath(TestDataPath.Riskeer.Common.IO, Path.Combine("FailureMechanismSections", shapeFileName)); using (var reader = new FailureMechanismSectionReader(validFilePath)) { int count = reader.GetFailureMechanismSectionCount(); for (var i = 0; i < count; i++) { reader.ReadFailureMechanismSection(); } // Call FailureMechanismSection resultBeyondEndOfFile = reader.ReadFailureMechanismSection(); // Assert Assert.IsNull(resultBeyondEndOfFile); } }