private void Context()
 {
     ManualTestingTimer = new ManualTimer();
     AdvisorAlarmClock = new AlarmClock(ManualTestingTimer);
     AdvisorAlarmClock.OnAlarm += (sndr, e) =>
                                      {
                                          AlarmWentOff = true;
                                          CurrentTime = e.Time;
                                      };
     GivenInterval = 100;
     AdvisorAlarmClock.SetFor(GivenInterval);
 }
        public ConceptualTime Conceptualize(Time.Time time)
        {
            var hours = time.GetHours();
            var minutes = time.GetMinutes();
            var seconds = time.GetSeconds();

            if (hours > 12)
            {
                hours = hours - 12;
            }

            return new ConceptualTime(hours, minutes, seconds);
        }
        public void When_given_an_afternoon_time_it_should_be_translated_to_non_24_hour_time()
        {
            var hour = 16;
            var minute = 20;
            var second = 31;

            var dateTime = new DateTime(2009, 10, 2, hour, minute, second);
            var time = new Time(dateTime);
            var translationRules = new TranslationRules();

            var languageNeutralTranslation = translationRules.Conceptualize(time);

            Assert.AreEqual(4, languageNeutralTranslation.Hours);
            Assert.AreEqual(minute, languageNeutralTranslation.Minutes);
            Assert.AreEqual(second, languageNeutralTranslation.Seconds);
        }