Example #1
0
        public void SwitchingColors(Traffic_Color _start_traffic_Color)
        {
            Traffic_Color traffic_Color = _start_traffic_Color;

            BatteryOn();
            switch (traffic_Color)
            {
            case Traffic_Color.Green:
                System.Threading.Thread.Sleep(GREEN_TIME * 1000);
                ChangeColor(traffic_Color);
                break;

            case Traffic_Color.Red:
                System.Threading.Thread.Sleep(RED_TIME * 1000);
                ChangeColor(traffic_Color);
                break;

            case Traffic_Color.Yellow:
                System.Threading.Thread.Sleep(YELLOW_TIME * 1000);
                ChangeColor(traffic_Color);
                break;
            }
            if (_battery.GetPowerState() == Power.On)
            {
                SwitchingColors(traffic_Color);
            }
        }
        public void Test_Blink_Color_By_Time(Traffic_Color color, int time_To_Blink)
        {
            int delay_Time = 1;

            mock = new Mock <IBattery>();
            mock.Setup((bat) => bat.SetPowerState(Power.On));
            IBattery battery = mock.Object;

            trafficLight = new TrafficThreeLight(battery);
            trafficLight.BlickColor(color, time_To_Blink, delay_Time);
        }
        public void Test_Change_Color_To_Green()
        {
            var currentColor = Traffic_Color.Red;

            mock = new Mock <IBattery>();
            mock.Setup((bat) => bat.SetPowerState(Power.On));
            IBattery battery = mock.Object;

            trafficLight = new TrafficThreeLight(battery);
            Traffic_Color newColor = trafficLight.ChangeColor(currentColor);

            newColor.Should().Be(Traffic_Color.Green);
        }
Example #4
0
        public Traffic_Color ChangeColor(Traffic_Color currentColor)
        {
            if (!Enum.IsDefined(typeof(Traffic_Color), currentColor))
            {
                throw new ArgumentOutOfRangeException(nameof(currentColor));
            }
            switch (currentColor)
            {
            case Traffic_Color.Red:
                return(Traffic_Color.Green);

            case Traffic_Color.Yellow:
                return(Traffic_Color.Red);

            case Traffic_Color.Green:
                return(Traffic_Color.Yellow);
            }
            return(currentColor);
        }
Example #5
0
        public void BlickColor(Traffic_Color color, int time_To_Blink, int delay_Time)
        {
            if (color == Traffic_Color.Black)
            {
                throw new ArgumentException(nameof(color));
            }
            Traffic_Color display_Color;

            for (int i = 0; i < time_To_Blink; i++)
            {
                if (i % 2 == 0)
                {
                    display_Color = color;
                }
                else
                {
                    display_Color = Traffic_Color.Black;
                }
                System.Threading.Thread.Sleep(delay_Time);
            }
        }
Example #6
0
        public void YellowBlicking(int blickingTime)
        {
            Traffic_Color color = Traffic_Color.Yellow;

            BlickColor(color, blickingTime, DELAY_TIME);
        }