public static ReportDownloadedEventArgs CreateEventArgs()
 {
     var oneGigabytes = 1048576;
     var monthly = new List<MonthlyBandwidth>() { new MonthlyBandwidth(2011, 1, oneGigabytes, oneGigabytes) };
     var daily = new List<DailyBandwidth> { new DailyBandwidth(2011, 1, 1, oneGigabytes, oneGigabytes) };
     var bandWidthReport = new BandwidthReport(monthly, daily);
     return new ReportDownloadedEventArgs(bandWidthReport, DateTime.Now, null);
 }
 public static ReportDownloadedEventArgs CreateEventArgs()
 {
     var monthly = new List<MonthlyBandwidth>()
         {
             new MonthlyBandwidth(2010, 11, 0, 0),
             new MonthlyBandwidth(2010, 12, 0, 0),
             new MonthlyBandwidth(2011, 1, 0, 0),
             new MonthlyBandwidth(2011, 2, 0, 0),
             new MonthlyBandwidth(2011, 3, 0, 0),
         };
     var bandWidthReport = new BandwidthReport(monthly, Enumerable.Empty<DailyBandwidth>());
     return new ReportDownloadedEventArgs(bandWidthReport, DateTime.Now, null);
 }
 public static ReportDownloadedEventArgs CreateEventArgs()
 {
     var daily = new List<DailyBandwidth>()
         {
             new DailyBandwidth(2011, 1, 1, 0, 0),
             new DailyBandwidth(2011, 2, 1, 0, 0),
             new DailyBandwidth(2011, 3, 1, 0, 0),
             new DailyBandwidth(2011, 4, 1, 0, 0),
             new DailyBandwidth(2011, 5, 1, 0, 0),
         };
     var monthly = new List<MonthlyBandwidth>() { new MonthlyBandwidth(2011, 1, 0, 0) };
     var bandWidthReport = new BandwidthReport(monthly, daily);
     return new ReportDownloadedEventArgs(bandWidthReport, DateTime.Now, null);
 }
        public void Then_monthly_report_should_have_latest_day_on_top()
        {
            var bandwidths = new List<MonthlyBandwidth>() { new MonthlyBandwidth(2011, 1, 0, 0), new MonthlyBandwidth(2011, 12, 0, 0), new MonthlyBandwidth(2011, 6, 0, 0) };
            var bandwidthReport = new BandwidthReport(bandwidths, Enumerable.Empty<DailyBandwidth>());

            var settings = new DownloaderSettings() { ReportFileName = @"./report.txt", Separator = ";", ReportType = BandwidthDownloader.ReportType.Monthly };

            var report = new UnitTestableCsvReport();
            report.Save(bandwidthReport, settings);

            var firstLine = report.ReportContent.ToList()[0];
            var date = firstLine.Split(';')[0];
            Assert.AreEqual("12.2011", date);
        }
Example #5
0
        /// <summary>
        /// Saves the report.
        /// </summary>
        /// <param name="report">
        /// The report.
        /// </param>
        /// <param name="settings">
        /// The settings.
        /// </param>
        public void Save(BandwidthReport report, DownloaderSettings settings)
        {
            this.FileName = Path.GetFullPath(settings.ReportFileName);
            this.Separator = settings.Separator;
            this.Append = settings.Append;
            this.BandwidthUnit = settings.BandwidthUnit;

            if (ReportType.Daily == settings.ReportType)
            {
                this.SaveDailyReport(report.Daily);
                return;
            }

            this.SaveMonthlyReport(report.Monthly);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ReportDownloadedEventArgs"/> class.
        /// </summary>
        /// <param name="report">
        /// The report.
        /// </param>
        /// <param name="timestamp">
        /// The timestamp.
        /// </param>
        /// <param name="exception">Exception.</param>
        public ReportDownloadedEventArgs(BandwidthReport report, DateTime timestamp, Exception exception)
        {
            this.monthly = new List<MonthlyValue>();
            this.daily = new List<DailyValue>();
            this.Timestamp = timestamp;

            if (null != exception)
            {
                this.Error = exception;
                return;
            }

            report.Monthly.Each((value) =>
                {
                    var monthlyValue = new MonthlyValue(value);
                    this.monthly.Add(monthlyValue);
                });

            report.Daily.Each((value) =>
            {
                var dailyValue = new DailyValue(value);
                this.daily.Add(dailyValue);
            });
        }
Example #7
0
 /// <summary>
 /// Raises the <see cref="ReportDownloaded"/> event.
 /// </summary>
 /// <param name="report">
 /// The report.
 /// </param>
 /// <param name="timestamp">
 /// The time stamp.
 /// </param>
 /// <param name="exception">Exception.</param>
 protected virtual void OnReportDownloaded(BandwidthReport report, DateTime timestamp, Exception exception)
 {
     var handler = this.ReportDownloaded;
     if (null != handler)
     {
         handler(this, new ReportDownloadedEventArgs(report, timestamp, exception));
     }
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DownloadCompletedEventArgs"/> class.
 /// </summary>
 /// <param name="report">
 /// The report.
 /// </param>
 /// <param name="exception">
 /// The exception.
 /// </param>
 public DownloadCompletedEventArgs(BandwidthReport report, Exception exception)
     : base(exception, false, null)
 {
     this.Report = report;
 }
Example #9
0
        public void Monthly_report_type_should_be_monthly()
        {
            var report = new BandwidthReport(Enumerable.Empty<MonthlyBandwidth>());

            Assert.AreEqual(ReportType.Monthly, report.ReportType);
        }