Esempio n. 1
0
        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);
            }
        }