static void Main(string[] args) { try { Console.WriteLine(String.Format("Enter the file name at {0}", System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location))); //Read file name string fileName = Console.ReadLine(); //Exit if no name is inputed if (string.IsNullOrEmpty(fileName)) { Environment.Exit(0); } //Process file IFileProcessor file = new ExpenseFileProcessor(fileName); file.ProcessFile(); //Write output file name Console.WriteLine(String.Format("Output created at {0}", file.GetFileOutput())); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { Console.ReadKey(); } }
public void ProcessFile_CheckOutputName() { string fileName = "Test.txt"; CreateInputFile(fileName); IFileProcessor file = new ExpenseFileProcessor("Test.txt"); file.ProcessFile(); Assert.AreEqual(file.GetFileOutput(), Path.Combine(Directory.GetCurrentDirectory(), fileName + ".out")); }
public void ProcessFile_CheckOutputBalances() { string fileName = "Test.txt"; CreateInputFile(fileName); IFileProcessor file = new ExpenseFileProcessor("Test.txt"); file.ProcessFile(); List <string> _fileContent = File.ReadAllLines(file.GetFileOutput()).ToList(); Assert.AreEqual(_fileContent[0], "$0.98"); Assert.AreEqual(_fileContent[1], "($0.98)"); }