コード例 #1
0
        static void ProcessFile(FileTypes.Files fileType, string fileName)
        {
            try
            {
                IFileParser        fileParser        = new FileParser();
                IBaseFile          baseFileType      = null;
                IBaseFileProcessor basefileProcessor = null;
                switch (fileType)
                {
                case FileTypes.Files.LPF:
                    baseFileType      = new LPFileType();
                    basefileProcessor = new LPFFileProcessor();
                    break;

                case FileTypes.Files.TOU:
                    baseFileType      = new TOUFileType();
                    basefileProcessor = new TOUFileProcessor();
                    break;
                }
                if (!System.IO.File.Exists(fileName))
                {
                    Console.WriteLine("File does not exist");
                    return;
                }
                System.IO.FileInfo finfo = new System.IO.FileInfo(fileName);
                if (finfo.Extension != ".csv")
                {
                    Console.WriteLine("Invalid File");
                    return;
                }
                var data = fileParser.ParseFile(fileName, baseFileType);

                var         median   = basefileProcessor.CalcMedian(data.ToArray());
                var         outliers = basefileProcessor?.GetOutliers(data.ToArray(), 20, median);
                PublishData pub      = new PublishData();
                pub.DisplayData(outliers, finfo.Name, median);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
コード例 #2
0
        public static void Main(string[] args)
        {
            var            path = ConfigurationManager.AppSettings["CSVFilePath"];
            IFileProcessor fileProcessor;

            Console.WriteLine($"Configured path for reading the csv files is: {path}");
            Console.WriteLine($"It reads LP and TOU files and find values that are 20% above or below the median, and print to the console\n");

            try
            {
                fileProcessor = new LPFileProcessor();
                fileProcessor.ProcessFiles(path);

                fileProcessor = new TOUFileProcessor();
                fileProcessor.ProcessFiles(path);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
コード例 #3
0
        public void check_TOU_file_values()
        {
            FileProcessorBase <TOUFileModel> tou = new TOUFileProcessor();

            Assert.NotNull(tou.SelectValuesSatisfiedTheCondition(MockFile.GetMockTOUData(), "LPFile", 2.5));
        }