public void ItTurnLightRedAtCrossingStation() { //Given var signalS0 = new Signal() {Name = "S0", Light = Light.GREEN}; var track = new Track(signalS0); //When track.TrainCrosses(signalS0); //Then Assert.AreEqual(Light.RED, signalS0.Light); }
public void ItTurnLightYellowAtLastStation() { //Given var signalS0 = new Signal() { Name = "S0", Light = Light.RED }; var signalS1 = new Signal() { Name = "S1", Light = Light.GREEN }; var track = new Track(signalS0, signalS1); //When track.TrainCrosses(signalS1); //Then Assert.AreEqual(Light.YELLOW, signalS0.Light); }
public void ItTurnLightDoubleYellowTwoStationBack() { //Given var signalS0 = new Signal() { Name = "S0", Light = Light.YELLOW }; var signalS1 = new Signal() { Name = "S1", Light = Light.RED }; var signalS2 = new Signal() { Name = "S2", Light = Light.GREEN }; var track = new Track(signalS0, signalS1, signalS2); //When track.TrainCrosses(signalS2); //Then Assert.AreEqual(Light.DOUBLE_YELLOW, signalS0.Light); }