public void testIsNewSession_takesUtcOnly() { QuickFix.Dictionary settings = new QuickFix.Dictionary(); settings.SetString(QuickFix.SessionSettings.START_TIME, "09:30:00"); settings.SetString(QuickFix.SessionSettings.END_TIME, "16:00:00"); QuickFix.SessionSchedule sched = new QuickFix.SessionSchedule(settings); DateTime local = new DateTime(2001, 1, 1, 1, 1, 1, DateTimeKind.Local); DateTime utc = new DateTime(2001, 1, 1, 1, 1, 1, DateTimeKind.Utc); DateTime none = new DateTime(2001, 1, 1, 1, 1, 1, DateTimeKind.Unspecified); Assert.Throws <ArgumentException>(delegate { sched.IsNewSession(local, utc); }); Assert.Throws <ArgumentException>(delegate { sched.IsNewSession(utc, local); }); Assert.Throws <ArgumentException>(delegate { sched.IsNewSession(none, utc); }); Assert.Throws <ArgumentException>(delegate { sched.IsNewSession(utc, none); }); }
public void testIsNewSession_Daily() { QuickFix.Dictionary settings = new QuickFix.Dictionary(); settings.SetString(QuickFix.SessionSettings.START_TIME, "09:30:00"); settings.SetString(QuickFix.SessionSettings.END_TIME, "16:00:00"); QuickFix.SessionSchedule sched = new QuickFix.SessionSchedule(settings); Assert.False(sched.IsNewSession( new DateTime(2012, 10, 18, 15, 59, 58, DateTimeKind.Utc), new DateTime(2012, 10, 18, 15, 59, 59, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 10, 18, 15, 59, 59, DateTimeKind.Utc), new DateTime(2012, 10, 18, 16, 00, 00, DateTimeKind.Utc))); Assert.True(sched.IsNewSession( new DateTime(2012, 10, 18, 16, 00, 00, DateTimeKind.Utc), new DateTime(2012, 10, 18, 16, 00, 01, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 10, 18, 16, 00, 01, DateTimeKind.Utc), new DateTime(2012, 10, 18, 16, 00, 02, DateTimeKind.Utc))); // ========== // Settings file is specified in a zone (est, -5) settings = new QuickFix.Dictionary(); settings.SetString(QuickFix.SessionSettings.START_TIME, "04:30:00"); // 09:30:00 utc settings.SetString(QuickFix.SessionSettings.END_TIME, "11:00:00"); // 16:00:00 utc settings.SetString(QuickFix.SessionSettings.TIME_ZONE, EASTERN_STANDARD_TIME_ZONE_ID); //-5 sched = new QuickFix.SessionSchedule(settings); Assert.False(sched.IsNewSession( new DateTime(2012, 12, 18, 15, 59, 58, DateTimeKind.Utc), new DateTime(2012, 12, 18, 15, 59, 59, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 12, 18, 15, 59, 59, DateTimeKind.Utc), new DateTime(2012, 12, 18, 16, 00, 00, DateTimeKind.Utc))); Assert.True(sched.IsNewSession( new DateTime(2012, 12, 18, 16, 00, 00, DateTimeKind.Utc), new DateTime(2012, 12, 18, 16, 00, 01, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 12, 18, 16, 00, 01, DateTimeKind.Utc), new DateTime(2012, 12, 18, 16, 00, 02, DateTimeKind.Utc))); // ========== // Time zone during Daylight savings settings = new QuickFix.Dictionary(); settings.SetString(QuickFix.SessionSettings.START_TIME, "05:30:00"); // 09:30:00 utc settings.SetString(QuickFix.SessionSettings.END_TIME, "12:00:00"); // 16:00:00 utc settings.SetString(QuickFix.SessionSettings.TIME_ZONE, EASTERN_STANDARD_TIME_ZONE_ID); //-4 during dst sched = new QuickFix.SessionSchedule(settings); Assert.False(sched.IsNewSession( new DateTime(2012, 06, 18, 15, 59, 58, DateTimeKind.Utc), new DateTime(2012, 06, 18, 15, 59, 59, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 06, 18, 15, 59, 59, DateTimeKind.Utc), new DateTime(2012, 06, 18, 16, 00, 00, DateTimeKind.Utc))); Assert.True(sched.IsNewSession( new DateTime(2012, 06, 18, 16, 00, 00, DateTimeKind.Utc), new DateTime(2012, 06, 18, 16, 00, 01, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 06, 18, 16, 00, 01, DateTimeKind.Utc), new DateTime(2012, 06, 18, 16, 00, 02, DateTimeKind.Utc))); }
public void testIsNewSession_Daily() { QuickFix.Dictionary settings = new QuickFix.Dictionary(); settings.SetString(QuickFix.SessionSettings.START_TIME, "09:30:00"); settings.SetString(QuickFix.SessionSettings.END_TIME, "16:00:00"); QuickFix.SessionSchedule sched = new QuickFix.SessionSchedule(settings); Assert.False(sched.IsNewSession( new DateTime(2012, 10, 18, 15, 59, 58, DateTimeKind.Utc), new DateTime(2012, 10, 18, 15, 59, 59, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 10, 18, 15, 59, 59, DateTimeKind.Utc), new DateTime(2012, 10, 18, 16, 00, 00, DateTimeKind.Utc))); Assert.True(sched.IsNewSession( new DateTime(2012, 10, 18, 16, 00, 00, DateTimeKind.Utc), new DateTime(2012, 10, 18, 16, 00, 01, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 10, 18, 16, 00, 01, DateTimeKind.Utc), new DateTime(2012, 10, 18, 16, 00, 02, DateTimeKind.Utc))); // ========== // Settings file is specified in a zone (est, -5) settings = new QuickFix.Dictionary(); settings.SetString(QuickFix.SessionSettings.START_TIME, "04:30:00"); // 09:30:00 utc settings.SetString(QuickFix.SessionSettings.END_TIME, "11:00:00"); // 16:00:00 utc settings.SetString(QuickFix.SessionSettings.TIME_ZONE, EASTERN_STANDARD_TIME_ZONE_ID); //-5 sched = new QuickFix.SessionSchedule(settings); Assert.False(sched.IsNewSession( new DateTime(2012, 12, 18, 15, 59, 58, DateTimeKind.Utc), new DateTime(2012, 12, 18, 15, 59, 59, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 12, 18, 15, 59, 59, DateTimeKind.Utc), new DateTime(2012, 12, 18, 16, 00, 00, DateTimeKind.Utc))); Assert.True(sched.IsNewSession( new DateTime(2012, 12, 18, 16, 00, 00, DateTimeKind.Utc), new DateTime(2012, 12, 18, 16, 00, 01, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 12, 18, 16, 00, 01, DateTimeKind.Utc), new DateTime(2012, 12, 18, 16, 00, 02, DateTimeKind.Utc))); // ========== // Time zone during Daylight savings settings = new QuickFix.Dictionary(); settings.SetString(QuickFix.SessionSettings.START_TIME, "05:30:00"); // 09:30:00 utc settings.SetString(QuickFix.SessionSettings.END_TIME, "12:00:00"); // 16:00:00 utc settings.SetString(QuickFix.SessionSettings.TIME_ZONE, EASTERN_STANDARD_TIME_ZONE_ID); //-4 during dst sched = new QuickFix.SessionSchedule(settings); Assert.False(sched.IsNewSession( new DateTime(2012, 06, 18, 15, 59, 58, DateTimeKind.Utc), new DateTime(2012, 06, 18, 15, 59, 59, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 06, 18, 15, 59, 59, DateTimeKind.Utc), new DateTime(2012, 06, 18, 16, 00, 00, DateTimeKind.Utc))); Assert.True(sched.IsNewSession( new DateTime(2012, 06, 18, 16, 00, 00, DateTimeKind.Utc), new DateTime(2012, 06, 18, 16, 00, 01, DateTimeKind.Utc))); Assert.False(sched.IsNewSession( new DateTime(2012, 06, 18, 16, 00, 01, DateTimeKind.Utc), new DateTime(2012, 06, 18, 16, 00, 02, DateTimeKind.Utc))); }
public void testIsNewSession_takesUtcOnly() { QuickFix.Dictionary settings = new QuickFix.Dictionary(); settings.SetString(QuickFix.SessionSettings.START_TIME, "09:30:00"); settings.SetString(QuickFix.SessionSettings.END_TIME, "16:00:00"); QuickFix.SessionSchedule sched = new QuickFix.SessionSchedule(settings); DateTime local = new DateTime(2001, 1, 1, 1, 1, 1, DateTimeKind.Local); DateTime utc = new DateTime(2001, 1, 1, 1, 1, 1, DateTimeKind.Utc); DateTime none = new DateTime(2001, 1, 1, 1, 1, 1, DateTimeKind.Unspecified); Assert.Throws<ArgumentException>(delegate { sched.IsNewSession(local, utc); }); Assert.Throws<ArgumentException>(delegate { sched.IsNewSession(utc, local); }); Assert.Throws<ArgumentException>(delegate { sched.IsNewSession(none, utc); }); Assert.Throws<ArgumentException>(delegate { sched.IsNewSession(utc, none); }); }