コード例 #1
0
        public void ParseCsvFileTestReturnsNotHeadedModelForNotHeadedFile()
        {
            // Arrange
            var filePath = "InputData.csv";
            TestParserHelper parserHelper   = new TestParserHelper();
            TestFileHelper   tstHelper      = new TestFileHelper(filePath, parserHelper.notHeadedContent);
            CsvFileHandler   csvFileHandler = new CsvFileHandler(
                new ValidationService(), new FileService(tstHelper.config.Object),
                new ParsingService());

            // Expected result
            var expectedResult = new CsvHandleResult();

            expectedResult.Success          = true;
            expectedResult.ParsedCsvContent = parserHelper.expectedResultNoHeader;

            // Act
            var actualResult =
                csvFileHandler.ParseCsvFile(tstHelper.fileMock.Object, false);

            // Assert
            Assert.IsNotNull(actualResult);
            Assert.IsNotNull(actualResult.Result);
            Assert.AreEqual(expectedResult, actualResult.Result);
        }
コード例 #2
0
        public void TestParseCsvFile()
        {
            ICsvFileHandler _csvFileHandler = new CsvFileHandler(new ParsingService(), new ValidationService(), new FileService());
            string          csvFileContent  = File.ReadAllText(HeaderFileName);
            CsvTable        csvTable        = new CsvTable();

            string[] lines = csvFileContent.Split(
                new[] { "\r\n", "\r", "\n" },
                StringSplitOptions.RemoveEmptyEntries
                );

            for (int i = 0; i < lines.Length; i++)
            {
                var row = lines[i];
                if (i == 0)
                {
                    csvTable.HeaderRow = ParseRow(row);
                }
                else
                {
                    csvTable.Rows.Add(ParseRow(row));
                }
            }
            CsvHandleResult csvHandleResult = new CsvHandleResult();

            csvHandleResult.Success          = true;
            csvHandleResult.ParsedCsvContent = csvTable;

            // todo mock HttpPostedFileBase
            // Assert(_csvFileHandler.ParseCsvFile
        }
        public IFileHandler CreateFileHandler(FileTypeEnum fileType)
        {
            IFileHandler fileHandler = null;

            if (fileType == FileTypeEnum.JSON)
            {
                fileHandler = new JsonFileHandler();
            }

            if (fileType == FileTypeEnum.CSV || fileType == FileTypeEnum.TXT)
            {
                fileHandler = new CsvFileHandler();
            }

            return(fileHandler);
        }
コード例 #4
0
        public void ParseCsvFileTestWrongExtensionReturnsErrorMessage()
        {
            //Arrange
            var            txtFileName    = "Data.txt";
            TestFileHelper tstHelper      = new TestFileHelper(txtFileName, "");
            CsvFileHandler csvFileHandler = new CsvFileHandler(
                new ValidationService(), new FileService(tstHelper.config.Object),
                new ParsingService());

            // Expected result
            var expectedResult = new CsvHandleResult();

            expectedResult.ErrorMessage =
                $"Selected file, {txtFileName}, does not have supported format CSV";

            //Act
            var actualResult = csvFileHandler.ParseCsvFile(tstHelper.fileMock.Object, true);

            //Assert
            Assert.IsNotNull(actualResult);
            Assert.IsNotNull(actualResult.Result);
            Assert.AreEqual(expectedResult, actualResult.Result);
        }
コード例 #5
0
 public void TestInitialize()
 {
     underTest = new CsvFileHandler();
 }