예제 #1
0
        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();
            }
        }
예제 #2
0
        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"));
        }
예제 #3
0
        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)");
        }