@@ -714,5 +714,59 @@ public void testAdjustDateTime()
714
714
Util . UtcDateTimeSerializerTests . AssertHackyDateTimeEquality ( d5expected , d5actual ) ;
715
715
Assert . AreEqual ( DateTimeKind . Local , d5actual . Kind ) ;
716
716
}
717
+
718
+
719
+
720
+ [ Test ]
721
+ public void IsSessionTime_should_return_true_for_weekly_session_only_when_USE_DAILY_TIME_CHECK_is_true_and_date_and_time_in_range ( )
722
+ {
723
+ QuickFix . Dictionary settings = new QuickFix . Dictionary ( ) ;
724
+ settings . SetString ( QuickFix . SessionSettings . START_TIME , "06:00:00" ) ;
725
+ settings . SetString ( QuickFix . SessionSettings . END_TIME , "17:30:00" ) ;
726
+ settings . SetString ( QuickFix . SessionSettings . USE_DAILY_TIME_CHECK , "Y" ) ;
727
+
728
+ settings . SetDay ( QuickFix . SessionSettings . START_DAY , System . DayOfWeek . Monday ) ;
729
+ settings . SetDay ( QuickFix . SessionSettings . END_DAY , System . DayOfWeek . Friday ) ;
730
+ QuickFix . SessionSchedule sched = new QuickFix . SessionSchedule ( settings ) ;
731
+
732
+ //a Sunday
733
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 23 , 06 , 00 , 00 , DateTimeKind . Utc ) ) ) ;
734
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 23 , 17 , 30 , 00 , DateTimeKind . Utc ) ) ) ;
735
+
736
+
737
+ // Monday
738
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 24 , 05 , 59 , 59 , 999 , DateTimeKind . Utc ) ) ) ;
739
+ Assert . IsTrue ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 24 , 06 , 00 , 00 , DateTimeKind . Utc ) ) ) ;
740
+ Assert . IsTrue ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 24 , 17 , 30 , 00 , DateTimeKind . Utc ) ) ) ;
741
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 24 , 17 , 30 , 00 , 001 , DateTimeKind . Utc ) ) ) ;
742
+
743
+ // Tuesday
744
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 25 , 05 , 59 , 59 , 999 , DateTimeKind . Utc ) ) ) ;
745
+ Assert . IsTrue ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 25 , 06 , 00 , 00 , DateTimeKind . Utc ) ) ) ;
746
+ Assert . IsTrue ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 25 , 17 , 30 , 00 , DateTimeKind . Utc ) ) ) ;
747
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 25 , 17 , 30 , 00 , 001 , DateTimeKind . Utc ) ) ) ;
748
+
749
+ // Wednesday
750
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 26 , 05 , 59 , 59 , 999 , DateTimeKind . Utc ) ) ) ;
751
+ Assert . IsTrue ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 26 , 06 , 00 , 00 , DateTimeKind . Utc ) ) ) ;
752
+ Assert . IsTrue ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 26 , 17 , 30 , 00 , DateTimeKind . Utc ) ) ) ;
753
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 26 , 17 , 30 , 00 , 001 , DateTimeKind . Utc ) ) ) ;
754
+
755
+ // Thursday
756
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 27 , 05 , 59 , 59 , 999 , DateTimeKind . Utc ) ) ) ;
757
+ Assert . IsTrue ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 27 , 06 , 00 , 00 , DateTimeKind . Utc ) ) ) ;
758
+ Assert . IsTrue ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 27 , 17 , 30 , 00 , DateTimeKind . Utc ) ) ) ;
759
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 27 , 17 , 30 , 00 , 001 , DateTimeKind . Utc ) ) ) ;
760
+
761
+ // Friday
762
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 28 , 05 , 59 , 59 , 999 , DateTimeKind . Utc ) ) ) ;
763
+ Assert . IsTrue ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 28 , 06 , 00 , 00 , DateTimeKind . Utc ) ) ) ;
764
+ Assert . IsTrue ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 28 , 17 , 30 , 00 , DateTimeKind . Utc ) ) ) ;
765
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 28 , 17 , 30 , 00 , 001 , DateTimeKind . Utc ) ) ) ;
766
+
767
+ // Saturday
768
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 23 , 06 , 00 , 00 , DateTimeKind . Utc ) ) ) ;
769
+ Assert . IsFalse ( sched . IsSessionTime ( new DateTime ( 2019 , 06 , 23 , 17 , 30 , 00 , DateTimeKind . Utc ) ) ) ;
770
+ }
717
771
}
718
772
}
0 commit comments