public override void Run(string input, string output, string outputFormat) { if (!File.Exists(input)) { throw new ArgumentException($"Input file in path '{input}' doesn't exist."); } var outputPath = GetOutputPath(input, output, outputFormat); if (!loader.IsSupportedFile(input)) { var msg = $"Input file '{input}' is not supported.\nSupported input extensions: {string.Join(", ", loader.GetSupportedExtensions())}"; throw new ArgumentException(msg); } if (!tableExporter.IsSupportedFile(outputPath)) { var msg = $"Output file '{outputPath}' is not supported.\nSupported output extensions: {string.Join(", ", tableExporter.GetSupportedExtensions())}"; throw new ArgumentException(msg); } var tables = loader.LoadAllSheets(input); foreach (var table in tables) { var toAppend = string.IsNullOrEmpty(table.Name) ? "" : $"_{table.Name}"; var tableOutputPath = PathUtils.AppendToFilename(outputPath, toAppend); tableExporter.Export(table, tableOutputPath); } }
public void AppendToFilename_CorrectOutput(string path, string stringToAppend, string expectedPath) { var appended = PathUtils.AppendToFilename(path, stringToAppend); Assert.Equal(expectedPath, appended); }