public void Takeoff() { // Null argument exception should be thrown if vehicle is null. // Arrange. airport = new Airport(string.Empty, 10); // Assert. Assert.ThrowsException <ArgumentNullException>(() => { // Act. airport.TakeOff(null); }); // Verify message formatting for no planes able to takeoff. // Arrange. airport = new Airport(string.Empty, 10); // Act. string message = airport.AllTakeOff(); // Assert. Assert.AreEqual($"No vehicles are at {airport} with code {airport.AirportCode}.", message); // Verify that all planes that have landed take off. // Arrange. airport = new Airport(string.Empty, 10); // Act. airport.Land(new Airplane(new Engine())); airport.Land(new AerialVehicle[] { new Helicopter(new Engine()), new Drone(new Engine()) }); message = airport.AllTakeOff(); // Assert. Assert.AreEqual(3, message.Split(Environment.NewLine).Length); // Vehicles not at the airport should not be able to take off. // Arrange. airport = new Airport(string.Empty, 10); Drone drone = new Drone(new Engine()); airport.Land(new AerialVehicle[] { new Helicopter(new Engine()), new Drone(new Engine()) }); // Act. message = airport.TakeOff(drone); Assert.AreEqual($"{drone} can't takeoff because it is not at this airport.", message); // Vehicles at the airport should be able to take off. // Arrange. airport = new Airport(string.Empty, 10); drone = new Drone(new Engine()); // Act. airport.Land(new AerialVehicle[] { new Helicopter(new Engine()), drone, new Drone(new Engine()) }); message = airport.TakeOff(drone); // Assert. Assert.AreNotEqual($"{drone} can't takeoff because it is not at this airport.", message); }
public void TestAirport() { // Arrange terminal = new Airport("115"); boeing = new Airplane(); apache = new Helicopter(); uav = new Drone(); toy = new ToyPlane(); List <AerialVehicle> testVehicles = new List <AerialVehicle>() { boeing, apache, uav, toy }; // Act boeing.StartEngine(); boeing.TakeOff(); boeing.FlyUp(); foreach (AerialVehicle a in testVehicles) { a.StartEngine(); a.TakeOff(); a.FlyUp(); } string landPlane = terminal.Land(boeing); string landVehicles = terminal.Land(testVehicles); string takeoffPlane = terminal.TakeOff(boeing); string takeoffAll = terminal.AllTakeOff(); // Assert Assert.AreEqual(terminal.AirportCode, "115"); Assert.AreEqual(terminal.MaxVehicles, 5); Assert.AreEqual(takeoffPlane, boeing.ToString() + " has taken off. "); Assert.AreEqual(takeoffAll, testVehicles[0].ToString() + " has taken off. " + testVehicles[1].ToString() + " has taken off. " + testVehicles[2].ToString() + " has taken off. " + testVehicles[3].ToString() + " has taken off. "); Assert.AreEqual(landPlane, boeing.ToString() + " has landed. "); Assert.AreEqual(landVehicles, testVehicles[0].ToString() + " has landed. " + testVehicles[1].ToString() + " has landed. " + testVehicles[2].ToString() + " has landed. " + testVehicles[3].ToString() + " has landed. "); terminal = new Airport("ORD", 48); Assert.AreEqual("ORD", terminal.AirportCode); Assert.AreEqual(48, terminal.MaxVehicles); }