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); }
/// <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); }); }
/// <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; }
public void Monthly_report_type_should_be_monthly() { var report = new BandwidthReport(Enumerable.Empty<MonthlyBandwidth>()); Assert.AreEqual(ReportType.Monthly, report.ReportType); }