public void TestToCSVConverter(bool prefixWithWorkbookName) { var loc = _fileLocations[TestFile]; ExcelToCSVFilesConverter converter = new ExcelToCSVFilesConverter(); converter.ExcelFilePattern = loc.Name; converter.PrefixWithWorkbookName = prefixWithWorkbookName; var mockProjDir = Mock.Of <ILoadDirectory>(p => p.ForLoading == loc.Directory); var j = new ThrowImmediatelyDataLoadJob(); j.LoadDirectory = mockProjDir; converter.Fetch(j, new GracefulCancellationToken()); var file = prefixWithWorkbookName ? loc.Directory.GetFiles("Book1_Sheet1.csv").Single(): loc.Directory.GetFiles("Sheet1.csv").Single(); Assert.IsTrue(file.Exists); var contents = File.ReadAllText(file.FullName); Assert.AreEqual( @"Participant,Score,IsEvil,DateField,DoubleField,MixedField Bob,3,yes,2001-01-01,0.1,10:30:00 Frank,1.1,no,2001-01-01 10:30:00,0.51,11:30:00 Hank,2.1,no,2002-01-01 11:30:00,0.22,0.1 Shanker,2,yes,2003-01-01 01:30:00,0.10,0.51 Bobboy,2,maybe,2015-09-18,15:09:00,00:03:56", contents.Trim(new[] { ',', '\r', '\n', ' ', '\t' })); file.Delete(); }
private void TestConversionFor(string targetFile, string fileExtensionToConvert, int expectedNumberOfSheets, LoadDirectory directory) { FileInfo f = new FileInfo(targetFile); try { Assert.IsTrue(f.Exists); Assert.IsTrue(f.Length > 100); ExcelToCSVFilesConverter converter = new ExcelToCSVFilesConverter(); var job = new ThrowImmediatelyDataLoadJob(new ThrowImmediatelyDataLoadEventListener() { ThrowOnWarning = true, WriteToConsole = true }); job.LoadDirectory = directory; converter.ExcelFilePattern = fileExtensionToConvert; converter.Fetch(job, new GracefulCancellationToken()); FileInfo[] filesCreated = directory.ForLoading.GetFiles("*.csv"); Assert.AreEqual(expectedNumberOfSheets, filesCreated.Length); foreach (FileInfo fileCreated in filesCreated) { Assert.IsTrue(Regex.IsMatch(fileCreated.Name, "Sheet[0-9].csv")); Assert.GreaterOrEqual(fileCreated.Length, 100); fileCreated.Delete(); } } finally { f.Delete(); } }