public void Download()
 {
     TimeRunner.Run(async(time, th) =>
     {
         var phy  = new PhyBmData(th, new FakeElexonDownloader());
         var data = await phy.GetAsync(new LocalDate(2017, 8, 6), 1).ConfigureAwait(th);
         Assert.Equal(1031, data.Count);
         Assert.Equal(Power.FromMegawatts(-225), data[0].LevelFrom);
         var fpn0 = new PhyBmData.FpnData("EAS-BGS01",
                                          Instant.FromUtc(2017, 8, 5, 23, 0), Power.FromMegawatts(-225),
                                          Instant.FromUtc(2017, 8, 5, 23, 30), Power.FromMegawatts(-225));
         Assert.Equal(fpn0, data[0]);
         var fpnLast = new PhyBmData.FpnData("RHAMD-1",
                                             Instant.FromUtc(2017, 8, 5, 23, 0), Power.FromMegawatts(-2),
                                             Instant.FromUtc(2017, 8, 5, 23, 30), Power.FromMegawatts(-2));
         Assert.Equal(fpnLast, data.Last());
         var whilw1 = data.Where(x => x.ResourceNameHash == EicIds.Hash("WHILW-1")).ToImmutableList();
         Assert.Equal(2, whilw1.Count);
         var whilw1Fpn0 = new PhyBmData.FpnData("WHILW-1",
                                                Instant.FromUtc(2017, 8, 5, 23, 0), Power.FromMegawatts(25),
                                                Instant.FromUtc(2017, 8, 5, 23, 1), Power.FromMegawatts(14));
         Assert.Equal(whilw1Fpn0, whilw1[0]);
         var whilw1Fpn1 = new PhyBmData.FpnData("WHILW-1",
                                                Instant.FromUtc(2017, 8, 5, 23, 1), Power.FromMegawatts(14),
                                                Instant.FromUtc(2017, 8, 5, 23, 30), Power.FromMegawatts(14));
         Assert.Equal(whilw1Fpn1, whilw1[1]);
     });
 }
Beispiel #2
0
 public FpnData(string resourceName, Instant timeFrom, Power levelFrom, Instant timeTo, Power levelTo)
     : this(EicIds.Hash(resourceName), (uint)timeFrom.ToUnixTimeSeconds(), (short)levelFrom.Megawatts,
            (uint)timeTo.ToUnixTimeSeconds(), (short)levelTo.Megawatts)
 {
 }
Beispiel #3
0
 public Data(string resourceName, Instant settlementPeriodStart, Power power)
     : this(EicIds.Hash(resourceName), (uint)settlementPeriodStart.ToUnixTimeSeconds(), (int)power.Kilowatts)
 {
 }