public void T00_TimeZoneTest() { var cdt = new ContractDetailsTime(ContractDetails); var tz = DateTimeZoneProviders.Tzdb.GetZoneOrNull(ContractDetails.TimeZoneId); Assert.Equal(tz, cdt.TimeZone); Assert.Equal(16, cdt.Events.Count); }
public async Task T03_ObservableAll() { var tz = DateTimeZoneProviders.Tzdb.GetZoneOrNull(ContractDetails.TimeZoneId); var scheduler = new HistoricalScheduler(); var cdt = new ContractDetailsTime(ContractDetails, scheduler); var task = cdt.ContractTimeObservable.ToList().ToTask(); scheduler.Start(); // play all var list = await task; Assert.Equal(cdt.Events.Count + 1, list.Count); }
public async Task T02_ObservableTest() { var tz = DateTimeZoneProviders.Tzdb.GetZoneOrNull(ContractDetails.TimeZoneId); var dto = new LocalDateTime(2018, 1, 1, 10, 0, 00).InZoneStrictly(tz).ToInstant().ToDateTimeOffset(); var scheduler = new HistoricalScheduler(dto); // TestScheduler(); var cdt = new ContractDetailsTime(ContractDetails, scheduler); var status = await cdt.ContractTimeObservable.FirstAsync(); var dt1 = new LocalDateTime(2018, 1, 1, 9, 30, 0).InZoneStrictly(cdt.TimeZone); Assert.Equal(dt1, status.Previous.Time); Assert.Equal(ContractTimeStatus.Liquid, status.Previous.Status); var dt2 = new LocalDateTime(2018, 1, 1, 12, 0, 0).InZoneStrictly(cdt.TimeZone); Assert.Equal(dt2, status.Next.Time); Assert.Equal(ContractTimeStatus.Trading, status.Next.Status); }
public void T01_EventsTest() { var cdt = new ContractDetailsTime(ContractDetails); var status = cdt.Get(Instant.MinValue); Assert.Equal(null, status.Previous); Assert.Equal(new LocalDateTime(2018, 1, 1, 9, 0, 0).InZoneStrictly(cdt.TimeZone), status.Next.Time); Assert.Equal(ContractTimeStatus.Trading, status.Next.Status); var dt = new LocalDateTime(2018, 1, 1, 9, 0, 0).InZoneStrictly(cdt.TimeZone); status = cdt.Get(dt.ToInstant()); Assert.Equal(dt, status.Previous.Time); Assert.Equal(ContractTimeStatus.Trading, status.Previous.Status); dt = new LocalDateTime(2018, 1, 1, 9, 30, 0).InZoneStrictly(cdt.TimeZone); Assert.Equal(dt, status.Next.Time); Assert.Equal(ContractTimeStatus.Liquid, status.Next.Status); status = cdt.Get(Instant.MaxValue); Assert.Equal(new LocalDateTime(2018, 1, 2, 17, 0, 0).InZoneStrictly(cdt.TimeZone), status.Previous.Time); Assert.Equal(ContractTimeStatus.Closed, status.Previous.Status); Assert.Equal(null, status.Next); }