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); }
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); }
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); }
public void TestInitialize() { underTest = new CsvFileHandler(); }