static async Task <int> GetFreq(GetFreqOptions opts) { var taskHelper = SystemTaskHelper.Instance; var downloader = new ElexonDownloader(taskHelper, opts.ElexonApiKey); var dir = new SystemDirectory(taskHelper, opts.DataDirectory); var fetch = new FetchFreq(taskHelper, downloader, dir, SystemTime.Instance); await fetch.Start(opts.GetImmediately); return(0); }
static async Task <int> GetB1610(GetB1610Options opts) { var taskHelper = SystemTaskHelper.Instance; var downloader = new ElexonDownloader(taskHelper, opts.ElexonApiKey); var dir = new SystemDirectory(taskHelper, opts.DataDirectory); var fetch = new FetchB1610(taskHelper, downloader, dir, SystemTime.Instance, opts.ErrorLogFilename); await fetch.Start(); return(0); }
public GetFuelInstHhCur(Options opts) { var taskHelper = SystemTaskHelper.Instance; _scheduler = new Scheduler(SystemTime.Instance, taskHelper); var elexonDownloader = new ElexonDownloader(taskHelper, opts.ElexonApiKey); _fuelInstHhCur = new FuelInstHhCur(taskHelper, elexonDownloader); var dir = new SystemDirectory(taskHelper, opts.DataDirectory); _datastoreWriter = new FuelInstHhCur.Writer(taskHelper, dir); _getImmediately = opts.GetImmediately; }
public async Task Get() { var taskHelper = SystemTaskHelper.Instance; var elexonApiKey = TestHelper.ElexonApiKey(); var elexonDownloader = new ElexonDownloader(taskHelper, elexonApiKey); var fuelInstHhCur = new FuelInstHhCur(taskHelper, elexonDownloader); var data = await fuelInstHhCur.GetAsync(); // The following are expected to be correct just about all the time. Assert.InRange(data.Nuclear, Power.FromGigawatts(4), Power.FromGigawatts(10)); Assert.InRange(data.Ccgt, Power.FromGigawatts(4), Power.FromGigawatts(40)); Assert.InRange(data.Oil, Power.Zero, Power.FromMegawatts(500)); Assert.InRange(data.Total, Power.FromGigawatts(18), Power.FromGigawatts(60)); // Check update time is reasonable, from 24 hours ago until now. var now = SystemClock.Instance.GetCurrentInstant(); Assert.InRange(data.Update, now - NodaTime.Duration.FromHours(24), now); }