public void Can_get_time_of_day_state_for_current_real_world_time_middle_time() { // Arrange var manager = new TimePeriodManager(this.CreateStates()); var time = new DateTime(2015, 8, 2, 12, 0, 0); // Act ITimePeriod state = manager.GetTimeOfDayState(time); // Assert Assert.AreEqual(12, state.StateStartTime.Hour); Assert.AreEqual(0, state.StateStartTime.Minute); }
/// <summary> /// Looks at a supplied time of day and figures out what TimeOfDayState needs to be returned that matches the time of day. /// </summary> /// <param name="currentTime">The current time.</param> /// <returns> /// Returns an instance of ITimePeriod that represents the current time of day in the game. /// </returns> public ITimePeriod GetTimeOfDayState(DateTime?currentTime = null) { ITimeOfDay time = TimePeriodManager._factory(currentTime.Value.Hour, currentTime.Value.Minute, _hoursPerDay); return(this.GetTimePeriodForDay(time)); }
public void Ctor_throws_argument_null_exception_when_given_null() { // Act var manager = new TimePeriodManager(null); }
public void Can_get_time_of_day_state_when_states_are_out_of_order() { // Arrange var manager = new TimePeriodManager(this.CreateStates()); var time = new DateTime(2015, 8, 2, 16, 0, 0); // Act ITimePeriod state = manager.GetTimeOfDayState(time); // Assert Assert.AreEqual(15, state.StateStartTime.Hour); Assert.AreEqual(0, state.StateStartTime.Minute); }