public void DownloadTest()
        {
            var logger = TestLogManager.Instance.GetLogger("B3ProviderTesting");
            //
            // TODO: Add test logic here
            //
            //var summary = BenchmarkRunner.Run<BenchmarkDownloader>();
            var stopWatch  = System.Diagnostics.Stopwatch.StartNew();
            var downloader = new B3Dowloader(@"c:\temp");
            var finalPath  = downloader.DownloadYearHistoricFile(2018, true);

            stopWatch.Stop();
            logger.Info(string.Format("downloaded in: {0:hh\\:mm\\:ss\\.fff}", stopWatch.Elapsed));
        }
        public void ReadingFileTime()
        {
            var logger = TestLogManager.Instance.GetLogger("B3ProviderTesting");
            //
            // TODO: Add test logic here
            //
            //var summary = BenchmarkRunner.Run<BenchmarkDownloader>();
            var stopWatch  = System.Diagnostics.Stopwatch.StartNew();
            var downloader = new B3Dowloader(@"c:\temp");
            var finalPath  = @"c:\temp\COTAHIST_A2018.ZIP";
            var historicMarketDataReader = ReaderFactory.CreateReader <B3HistoricMarketDataInfo>(ReadStrategy.ZipFileReadMostRecent);
            var historicMarketData       = historicMarketDataReader.ReadRecords(finalPath);

            stopWatch.Stop();
            logger.Info(string.Format("downloaded in: {0:hh\\:mm\\:ss\\.fff}", stopWatch.Elapsed));
        }
        public void AggreegatingFileTime()
        {
            var logger = TestLogManager.Instance.GetLogger("B3ProviderTesting");
            //
            // TODO: Add test logic here
            //
            //var summary = BenchmarkRunner.Run<BenchmarkDownloader>();
            var stopWatch  = System.Diagnostics.Stopwatch.StartNew();
            var downloader = new B3Dowloader(@"c:\temp");
            var finalPath  = @"c:\temp\COTAHIST_A2018.ZIP";
            var historicMarketDataReader = ReaderFactory.CreateReader <B3HistoricMarketDataInfo>(ReadStrategy.ZipFileReadMostRecent);
            var historicMarketData       = historicMarketDataReader.ReadRecords(finalPath);

            stopWatch.Stop();
            logger.Info(string.Format("downloaded in: {0:hh\\:mm\\:ss\\.fff}", stopWatch.Elapsed));

            stopWatch = System.Diagnostics.Stopwatch.StartNew();
            //if the map already exists, it should merge (2018, 2017, 2016)
            var history = historicMarketData.GroupBy(historic => historic.Ticker)
                          .AsParallel()
                          .ToDictionary(group => group.Key,
                                        components => components.GroupBy(c => c.TradeDate)
                                        .AsParallel()
                                        .ToDictionary(g => g.Key, g => g.FirstOrDefault()));

            stopWatch.Stop();
            logger.Info(string.Format("aggregated in: {0:hh\\:mm\\:ss\\.fff}", stopWatch.Elapsed));

            stopWatch = System.Diagnostics.Stopwatch.StartNew();
            //if the map already exists, it should merge (2018, 2017, 2016)
            var history2 = historicMarketData.GroupBy(historic => historic.Ticker)
                           .ToDictionary(group => group.Key,
                                         components => components.GroupBy(c => c.TradeDate)
                                         .ToDictionary(g => g.Key, g => g.FirstOrDefault()));

            stopWatch.Stop();
            logger.Info(string.Format("aggregated in: {0:hh\\:mm\\:ss\\.fff}", stopWatch.Elapsed));
        }
        public void Download2()
        {
            var downloader = new B3Dowloader(@"c:\temp");

            downloader.DownloadYearHistoricFile(2018, true);
        }