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); }
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); }
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); } }
public void YellowBlicking(int blickingTime) { Traffic_Color color = Traffic_Color.Yellow; BlickColor(color, blickingTime, DELAY_TIME); }