Beispiel #1
0
        /// <summary>
        /// Включить светофор на определенное время.
        /// </summary>
        /// <param name="time">Время работы светофора.</param>
        public void StartLighter(uint time)
        {
            if (DateTime.Now.Date < MaximumDate)
            {
                //----Включили наш светофор
                On();

                if (!_red.IsBroken() && !_yellow.IsBroken() && !_green.IsBroken())
                {
                    _red.Working(time);
                    _yellow.Working(time * 2);        //----Он работает по некоторой логике и ломается
                    _green.Working(time);
                }
                else
                {
                    throw new Exception("Сломалась одна из лампочек, замените ее!");
                }

                //----Выключили светофор в конце рабочего дня
                OffAll();
            }
            else
            {
                throw new Exception("Светофор устарел, замените его.");
            }
        }
Beispiel #2
0
 /// <summary>
 /// Проверка необходимости замены лампы.
 /// </summary>
 /// <param name="broken">Объект лампы, подозреваемой в поломке.</param>
 /// <param name="bulb">Объект новой лампочки.</param>
 private void Fix(Bulb broken, Bulb bulb)
 {
     if (broken.IsBroken())
     {
         broken = bulb;
     }
 }