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);
        }
        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);
        }