public static void Execute() { ConsoleExtension.WriteSeparator("Air traffic control example"); var airTraficControl = new FrankfurtAirTrafficControl(); // Register flights to air trafic control var flight1 = new AirbusA320("ARB320", 28000, airTraficControl); var flight2 = new Boeing737("BNG737", 29000, airTraficControl); var flight3 = new Boeing777("BNG777", 35000, airTraficControl); Console.WriteLine($"\nChanging altitude for {flight1.CallSign}..."); flight1.Altitude += 1000; }
public void Not_Warn_If_No_Intrusion() { var logger = new Mock <ILogger>(); var atc = new YvrCenter(); // mediator var flight1 = new Airbus321("AC159", atc, logger.Object); var flight2 = new Boeing737("WS203", atc, logger.Object); var flight3 = new Embraer190("AC602", atc, logger.Object); flight1.Altitude = 30000; flight2.Altitude = 35000; flight3.Altitude = 32000; logger.Verify(l => l.Log(It.IsAny <string>()), Times.Never()); }
public void Warn_Of_Intrusion() { var logger = new Mock <ILogger>(); var atc = new YvrCenter(); // mediator var flight1 = new Airbus321("AC159", atc, logger.Object); var flight2 = new Boeing737("WS203", atc, logger.Object); var flight3 = new Embraer190("AC602", atc, logger.Object); flight1.Altitude = 30000; flight2.Altitude = 35000; flight3.Altitude = 34000; logger.Verify(l => l.Log(It.IsAny <string>()), Times.Once()); logger.Verify(l => l.Log($"{flight3.CallSign} intruding into {flight2.CallSign}'s airspace"), Times.Once()); }
static void Main(string[] args) { var car = new POS(10, Color.Black, 2); car.Go(); car.Go(); car.Go(); car.Stop(); car.Refuel(); var jet = new PrivateJet(200, Color.Blue, 10); jet.Go(); var bigBoy = new Boeing737(3000, Color.Orange, 235); bigBoy.Go(); bigBoy.KickOffPassenger(); bigBoy.Go(); var disneyCruise = new CruiseShip(2500, Color.Silver, 250); disneyCruise.Go(); disneyCruise.GivePassengersFoodPoisioning(); disneyCruise.Go(); }