예제 #1
0
        public void Test7()
        {
            var passenger1 = new Passenger("Pesho");
            var passenger2 = new Passenger("Gosho");
            var passenger3 = new Passenger("CHefo");
            var passenger4 = new Passenger("Aleksandar");
            var passenger5 = new Passenger("Vankata");
            var airport    = new Airport();
            var airplane   = new LightAirplane();

            airplane.AddPassenger(passenger1);
            airplane.AddPassenger(passenger2);
            airplane.AddPassenger(passenger3);
            airplane.AddPassenger(passenger4);
            airplane.AddPassenger(passenger5);
            var item  = new Jewelery();
            var items = new List <Item>();

            items.Add(item);
            var bag = new Bag(passenger1, items);

            passenger1.Bags.Add(bag);
            var trip = new Trip("Peshtera", "Sofia", airplane);

            airport.AddTrip(trip);
            var flightController = new FlightController(airport);

            flightController.TakeOff();

            Assert.AreEqual(airplane.BaggageCompartment.Count, 1);
        }
        public void TestSuccessfulTakeOff()
        {
            IAirport airport = new Airport();

            IAirplane    airplane  = new LightAirplane();
            IPassenger   passenger = new Passenger("Pesho");
            IItem        item      = new Toothbrush();
            IItem        item2     = new Jewelery();
            List <IItem> items     = new List <IItem>();

            items.Add(item);
            items.Add(item2);
            IBag bag = new Bag(passenger, items);

            airplane.AddPassenger(passenger);
            ITrip trip = new Trip("Sofia", "London", airplane);

            airport.AddTrip(trip);

            FlightController flight = new FlightController(airport);

            var actualResult = flight.TakeOff();

            StringBuilder sb = new StringBuilder();

            sb.AppendLine("SofiaLondon1:")
            .AppendLine("Successfully transported 1 passengers from Sofia to London.")
            .AppendLine("Confiscated bags: 0 (0 items) => $0");

            var expectedResult = sb.ToString().Trim();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void TestLoadCarryOnBaggage()
        {
            IAirport  airport  = new Airport();
            IAirplane airplane = new LightAirplane();

            IPassenger[] passengers = new Passenger[10];
            for (int i = 0; i < 10; i++)
            {
                passengers[i] = new Passenger("Pesho" + i);
                airplane.AddPassenger(passengers[i]);
                if (i % 2 == 0)
                {
                    IBag bag = new Bag(passengers[i], new Item[] { new Colombian() });
                    passengers[i].Bags.Add(bag);
                }
            }

            ITrip trip = new Trip("Tuk", "Tam", airplane);

            airport.AddTrip(trip);
            IFlightController flightController = new FlightController(airport);

            string expectedResult = "TukTam3:\r\nOverbooked! Ejected Pesho1, Pesho0, Pesho3, Pesho7, Pesho8\r\nConfiscated 2 bags ($100000)\r\nSuccessfully transported 5 passengers from Tuk to Tam.\r\nConfiscated bags: 2 (2 items) => $100000";

            string actualResult = flightController.TakeOff();

            Assert.AreEqual(actualResult, expectedResult);
        }
예제 #4
0
        public void TestIfAirplaneIsOverbooked()
        {
            var airport = new Airport();

            var airplane                = new LightAirplane();
            var flightController        = new FlightController(airport);
            List <Passenger> passengers = new List <Passenger>();

            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));

            foreach (var item in passengers)
            {
                airplane.AddPassenger(item);
            }
            Trip trip = new Trip("Tuk", "tam", airplane);

            airport.AddTrip(trip);

            var actualResult   = flightController.TakeOff();
            var expectedResult = "Tuktam3:\r\nOverbooked! Ejected Gsoho, Gsoho, Gsoho, Gsoho, Gsoho\r\nConfiscated 0 bags ($0)\r\nSuccessfully transported 5 passengers from Tuk to tam.\r\nConfiscated bags: 0 (0 items) => $0";

            Assert.AreEqual(expectedResult, actualResult);
            Assert.AreEqual(trip.IsCompleted, true);
        }
        public void TestLoadCarryOnBaggage()
        {
            var  airplane = new LightAirplane();
            Trip trip     = new Trip("Tuk", "Tam", airplane);

            var passengers = new Passenger[10];

            for (int i = 0; i < passengers.Length; i++)
            {
                passengers[i] = new Passenger("Gosho" + i);
                airplane.AddPassenger(passengers[i]);
            }

            airport.AddTrip(trip);

            FlightController flightController = new FlightController(airport);

            var completedTrip = new Trip("Tam", "Tuk", new MediumAirplane());

            completedTrip.Complete();
            airport.AddTrip(completedTrip);

            var actualResult    = flightController.TakeOff();
            var expexctedResult = "TukTam3:\r\nOverbooked! Ejected Gosho1, Gosho0, Gosho3, Gosho7, Gosho8\r\nConfiscated 0 bags ($0)\r\nSuccessfully transported 5 passengers from Tuk to Tam.\r\nConfiscated bags: 0 (0 items) => $0";

            Assert.AreEqual(expexctedResult, actualResult);
            Assert.AreEqual(trip.IsCompleted, true);
        }
예제 #6
0
        public void Test5()
        {
            var passenger1 = new Passenger("Pesho");
            var passenger2 = new Passenger("Gosho");
            var passenger3 = new Passenger("CHefo");
            var passenger4 = new Passenger("Aleksandar");
            var passenger5 = new Passenger("Vankata");
            var passenger6 = new Passenger("Niki");
            var airport    = new Airport();
            var airplane   = new LightAirplane();

            airplane.AddPassenger(passenger1);
            airplane.AddPassenger(passenger2);
            airplane.AddPassenger(passenger3);
            airplane.AddPassenger(passenger4);
            airplane.AddPassenger(passenger5);
            airplane.AddPassenger(passenger6);
            var trip = new Trip("Peshtera", "Sofia", airplane);

            airport.AddTrip(trip);
            var flightController = new FlightController(airport);

            flightController.TakeOff();

            Assert.AreEqual(trip.IsCompleted, true);
        }
예제 #7
0
        public void Test4()
        {
            var passenger1 = new Passenger("Pesho");
            var passenger2 = new Passenger("Gosho");
            var passenger3 = new Passenger("CHefo");
            var passenger4 = new Passenger("Aleksandar");
            var passenger5 = new Passenger("Vankata");
            var passenger6 = new Passenger("Niki");
            var airport    = new Airport();
            var airplane   = new LightAirplane();

            airplane.AddPassenger(passenger1);
            airplane.AddPassenger(passenger2);
            airplane.AddPassenger(passenger3);
            airplane.AddPassenger(passenger4);
            airplane.AddPassenger(passenger5);
            airplane.AddPassenger(passenger6);
            var trip = new Trip("Peshtera", "Sofia", airplane);

            airport.AddTrip(trip);
            var flightController = new FlightController(airport);

            var output = flightController.TakeOff();

            Assert.AreEqual("PeshteraSofia1:\r\nOverbooked! Ejected Gosho\r\nConfiscated 0 bags ($0)\r\nSuccessfully transported 5 passengers from Peshtera to Sofia.\r\nConfiscated bags: 0 (0 items) => $0", output);
        }
        public void SuccessfulTrip()
        {
            var passengers = new[]
            {
                new Passenger("Pesho1"),
                new Passenger("Pesho2"),
                new Passenger("Pesho3"),
                new Passenger("Pesho4"),
                new Passenger("Pesho5"),
                new Passenger("Pesho6"),
            };

            var airplane = new LightAirplane();

            foreach (var passenger in passengers)
            {
                airplane.AddPassenger(passenger);
            }

            var trip = new Trip("Sofia", "London", airplane);

            var airport = new Airport();

            airport.AddTrip(trip);

            var flightController = new FlightController(airport);

            var bag = new Bag(passengers[1], new[] { new Colombian() });

            passengers[1].Bags.Add(bag);

            var completedTrip = new Trip("Sofia", "Varna", new LightAirplane());

            completedTrip.Complete();

            airport.AddTrip(completedTrip);

            var stringBuilder = new StringBuilder();

            stringBuilder.AppendLine("SofiaLondon1:");
            stringBuilder.AppendLine("Overbooked! Ejected Pesho2");
            stringBuilder.AppendLine("Confiscated 1 bags ($50000)");
            stringBuilder.AppendLine("Successfully transported 5 passengers from Sofia to London.");
            stringBuilder.AppendLine("Confiscated bags: 1 (1 items) => $50000");

            var expectedResult = stringBuilder.ToString().TrimEnd();
            var actualResult   = flightController.TakeOff();

            Assert.AreEqual(expectedResult, actualResult);
            Assert.IsTrue(trip.IsCompleted);
        }
예제 #9
0
        public void SuccessfulTrip()
        {
            var passengers = new[]
            {
                new Passenger("Pesho1"),
                new Passenger("Pesho2"),
                new Passenger("Pesho3"),
                new Passenger("Pesho4"),
                new Passenger("Pesho5"),
                new Passenger("Pesho6"),
            };

            var airplane = new LightAirplane();

            foreach (var passenger in passengers)
            {
                airplane.AddPassenger(passenger);
            }

            var trip = new Trip("Sofia", "London", airplane);

            var airport = new Airport();

            airport.AddTrip(trip);

            var flightController = new FlightController(airport);

            var bag = new Bag(passengers[1], new[] { new Colombian() });

            passengers[1].Bags.Add(bag);

            var completedTrip = new Trip("Sofia", "Varna", new LightAirplane());

            completedTrip.Complete();

            airport.AddTrip(completedTrip);

            var actualResult = flightController.TakeOff();

            var expectedResult =
                @"SofiaLondon1:
Overbooked! Ejected Pesho2
Confiscated 1 bags ($50000)
Successfully transported 5 passengers from Sofia to London.
Confiscated bags: 1 (1 items) => $50000";

            Assert.That(actualResult, Is.EqualTo(expectedResult).NoClip);
            Assert.That(trip.IsCompleted, Is.True);
        }
        public void CheckIfTripIsCompleted()
        {
            IAirport  airport  = new Airport();
            IAirplane airplane = new LightAirplane();
            ITrip     trip     = new Trip("Tuk", "Tam", airplane);

            airplane.AddPassenger(new Passenger("Pesho1"));
            airport.AddTrip(trip);
            trip.Complete();
            IFlightController flightController = new FlightController(airport);
            string            expectedResult   = "Confiscated bags: 0 (0 items) => $0";
            string            actualResult     = flightController.TakeOff();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void SuccessfulTrip()
        {
            var passengers = new[]
            {
                new Passenger("Westside1"),
                new Passenger("Westside2"),
                new Passenger("Westside3"),
                new Passenger("Westside4"),
                new Passenger("Westside5"),
                new Passenger("Westside6")
            };

            Airplane airplane = new LightAirplane();

            foreach (var passenger in passengers)
            {
                airplane.AddPassenger(passenger);
            }

            Trip trip = new Trip("Sofia", "London", airplane);

            Airport airport = new Airport();

            airport.AddTrip(trip);

            var bag = new Bag(passengers[1], new[] { new Colombian() });

            passengers[1].Bags.Add(bag);

            var completedTrip = new Trip("Sofia", "Manchester", airplane);

            completedTrip.Complete();

            airport.AddTrip(completedTrip);

            var flightController = new FlightController(airport);

            var actualResult   = flightController.TakeOff();
            var expectedResult = @"SofiaLondon1:
Overbooked! Ejected Westside2
Confiscated 1 bags ($50000)
Successfully transported 5 passengers from Sofia to London.
Confiscated bags: 1 (1 items) => $50000";

            Assert.AreEqual(expectedResult, actualResult);
            Assert.That(trip.IsCompleted, Is.True);
        }
예제 #12
0
        public void ValidateTakeoffMethod()
        {
            var airport = new Airport();

            var airplane = new LightAirplane();

            var passengers = new Passenger[10];


            for (int i = 0; i < passengers.Length; i++)
            {
                passengers[i] = new Passenger("Todor" + i);
                airplane.AddPassenger(passengers[i]);
            }

            for (int i = 0; i < 5; i++)
            {
                if (i % 2 == 0)
                {
                    var bag = new Bag(passengers[i], new Item[] { new Colombian() });
                    passengers[i].Bags.Add(bag);
                }
                else
                {
                    var bag = new Bag(passengers[i], new Item[] { new Toothbrush() });
                    passengers[i].Bags.Add(bag);
                }
            }

            var trip = new Trip("Sofiq", "Varna", airplane);

            airport.AddTrip(trip);

            var complatedTrip = new Trip("Varna", "Sofiq", new MediumAirplane());

            complatedTrip.Complete();
            airport.AddTrip(complatedTrip);

            FlightController flightController = new FlightController(airport);

            var actualResult   = flightController.TakeOff();
            var expectedResult = "SofiqVarna1:\r\nOverbooked! Ejected Todor1, Todor0, Todor3, Todor7, Todor8\r\nConfiscated 3 bags ($50006)\r\nSuccessfully transported 5 passengers from Sofiq to Varna.\r\nConfiscated bags: 3 (3 items) => $50006";

            Assert.AreEqual(expectedResult, actualResult);
            Assert.AreEqual(trip.IsCompleted, true);
        }
예제 #13
0
        public void SuccessfulTrip()
        {
            var sb         = new StringBuilder();
            var passengers = new[]
            {
                new Passenger("Ivan"),
                new Passenger("Ivan2"),
                new Passenger("Ivan3"),
                new Passenger("Ivan4"),
                new Passenger("Ivan5"),
                new Passenger("Ivan6"),
            };

            var airplane = new LightAirplane();

            foreach (var passenger in passengers)
            {
                airplane.AddPassenger(passenger);
            }

            var trip = new Trip("Sofia", "London", airplane);

            airport.AddTrip(trip);

            var bag = new Bag(passengers[1], new[] { new Colombian() });

            passengers[1].Bags.Add(bag);

            var completedTrip = new Trip("Sofia", "Varna", new LightAirplane());

            completedTrip.Complete();

            airport.AddTrip(completedTrip);

            var actualResult = flightController.TakeOff();

            sb.AppendLine("SofiaLondon1:");
            sb.AppendLine("Overbooked! Ejected Ivan2");
            sb.AppendLine("Confiscated 1 bags ($50000)");
            sb.AppendLine("Successfully transported 5 passengers from Sofia to London.");
            sb.Append("Confiscated bags: 1 (1 items) => $50000");

            Assert.That(actualResult, Is.EqualTo(sb.ToString()));
            Assert.That(trip.IsCompleted, Is.True);
        }
        public void TestIsTakeOffMethodWorkCorectly()
        {
            Airport airport  = new Airport();
            var     airplane = new LightAirplane();

            var passenger = new Passenger("Gosho");

            var passengers = new Passenger[10];

            for (int i = 0; i < passengers.Length; i++)
            {
                passengers[i] = new Passenger("Gosho" + i);
                airplane.AddPassenger(passengers[i]);
            }

            for (int i = 0; i < 5; i++)
            {
                if (i % 2 == 0)
                {
                    var bag = new Bag(passengers[i], new Item[] { new Colombian() });
                    passengers[i].Bags.Add(bag);
                }
                else
                {
                    var bag = new Bag(passengers[i], new Item[] { new Toothbrush() });
                    passengers[i].Bags.Add(bag);
                }
            }

            var trip          = new Trip("Tuk", "Tam", airplane);
            var completedTrip = new Trip("Tam", "Tuk", new MediumAirplane());

            airport.AddTrip(trip);
            completedTrip.Complete();
            airport.AddTrip(completedTrip);
            FlightController flightController = new FlightController(airport);

            var actualResult   = flightController.TakeOff();
            var expectedResult = "TukTam1:\r\nOverbooked! Ejected Gosho1, Gosho0, Gosho3, Gosho7, Gosho8\r\nConfiscated 3 bags ($50006)\r\nSuccessfully transported 5 passengers from Tuk to Tam.\r\nConfiscated bags: 3 (3 items) => $50006";

            Assert.AreEqual(actualResult, expectedResult);
            Assert.AreEqual(trip.IsCompleted, true);
        }
예제 #15
0
        public void SuccesfullFlight()
        {
            var airport          = new Airport();
            var flightController = new FlightController(airport);
            var airplane         = new LightAirplane();
            var trip             = new Trip("Plovdiv", "Las Vegas", airplane);

            List <Passenger> passengers = new List <Passenger>()
            {
                new Passenger("Pesho"),
                new Passenger("Gosho"),
                new Passenger("Ivan"),
                new Passenger("Maria"),
                new Passenger("Stamat"),
                new Passenger("Kiro")
            };

            passengers.ForEach(p => airplane.AddPassenger(p));

            var bag = new Bag(passengers[1], new[] { new Colombian() });

            passengers[1].Bags.Add(bag);

            airport.AddTrip(trip);

            var completedTrip = new Trip("LA", "Sofia", new LightAirplane());

            completedTrip.Complete();

            airport.AddTrip(completedTrip);

            var actualResult = flightController.TakeOff();

            var expectedResult =
                @"PlovdivLas Vegas1:
Overbooked! Ejected Gosho
Confiscated 1 bags ($50000)
Successfully transported 5 passengers from Plovdiv to Las Vegas.
Confiscated bags: 1 (1 items) => $50000";

            Assert.That(actualResult, Is.EqualTo(expectedResult).NoClip);
            Assert.That(trip.IsCompleted, Is.True);
        }
        public void SuccessfulTrip()
        {
            IPassenger[] passengers = new IPassenger[10];

            for (int i = 0; i < passengers.Length;)
            {
                passengers[i] = new Passenger($"Passenger{++i}");
            }

            var airplane = new LightAirplane();

            foreach (var passenger in passengers)
            {
                airplane.AddPassenger(passenger);
            }

            var trip = new Trip("Sofia", "London", airplane);

            var airport = new Airport();

            airport.AddTrip(trip);

            var flightController = new FlightController(airport);

            var bag = new Bag(passengers[1], new[] { new Colombian() });

            passengers[1].Bags.Add(bag);

            var completedTrip = new Trip("Sofia", "Varna", new LightAirplane());

            completedTrip.Complete();

            airport.AddTrip(completedTrip);

            var actualResult = flightController.TakeOff();

            var expectedResult =
                "SofiaLondon1:\r\nOverbooked! Ejected Passenger2, Passenger1, Passenger4, Passenger8, Passenger9\r\nConfiscated 1 bags ($50000)\r\nSuccessfully transported 5 passengers from Sofia to London.\r\nConfiscated bags: 1 (1 items) => $50000";

            Assert.That(actualResult, Is.EqualTo(expectedResult));

            Assert.That(trip.IsCompleted, Is.True);
        }
        public void TestWithTrips()
        {
            var ivan  = new Passenger("Ivan");
            var pesho = new Passenger("Pesho");
            var maria = new Passenger("Maria");
            var mario = new Passenger("Mario");
            var emil  = new Passenger("Emil");
            var elena = new Passenger("Elena");

            var bag = new Bag(pesho, new IItem[] { new Toothbrush(), new Laptop() });

            pesho.Bags.Add(bag);
            var bagValue = bag.Items.Sum(x => x.Value);

            var airplane = new LightAirplane();

            airplane.AddPassenger(ivan);
            airplane.AddPassenger(pesho);
            airplane.AddPassenger(maria);
            airplane.AddPassenger(mario);
            airplane.AddPassenger(emil);
            airplane.AddPassenger(elena);

            var trip1 = new Trip("Sofia", "London", airplane);

            var airport = new Airport();

            airport.AddTrip(trip1);

            var trip2 = new Trip("Sofia", "Mascow", new LightAirplane());

            trip2.Complete();
            airport.AddTrip(trip2);

            var fc = new FlightController(airport);

            var sb = new StringBuilder();

            sb.AppendLine("SofiaLondon1:");
            sb.AppendLine($"Overbooked! Ejected Pesho");
            sb.AppendLine($"Confiscated 1 bags (${bagValue})");
            sb.AppendLine("Successfully transported 5 passengers from Sofia to London.");
            sb.AppendLine($"Confiscated bags: 1 (2 items) => ${bagValue}");

            var actual   = fc.TakeOff();
            var expected = sb.ToString().TrimEnd();

            Assert.That(actual, Is.EqualTo(expected));
            Assert.That(trip1.IsCompleted, Is.True);
        }
        public void CheckIfTripIsCompleted()
        {
            var airport   = new Airport();
            var airplane  = new LightAirplane();
            var trip      = new Trip("Tuk", "Tam", airplane);
            var passenger = new Passenger("Gosho");
            var bag       = new Bag(passenger, new Item[] { new Colombian() });

            passenger.Bags.Add(bag);
            airplane.AddPassenger(passenger);
            airport.AddTrip(trip);
            trip.Complete();

            var flightController = new FlightController(airport);

            var expectedResult = flightController.TakeOff();
            var actualResult   = "Confiscated bags: 0 (0 items) => $0";

            Assert.AreEqual(expectedResult, actualResult);
        }
예제 #19
0
        public void TestLoadCarryOnBaggage()
        {
            var airport = new Airport();

            var airplane = new LightAirplane();

            var passengers = new Passenger[10];

            //test if airplane is overbooked
            //Test load carry on baggage
            for (int i = 0; i < passengers.Length; i++)
            {
                passengers[i] = new Passenger("Gosho" + i);
                airplane.AddPassenger(passengers[i]);
            }

            for (int i = 0; i < 5; i++)
            {
                if (i % 2 == 0)
                {
                    var bag = new Bag(passengers[i], new Item[] { new Colombian() });
                    passengers[i].Bags.Add(bag);
                }
                else
                {
                    var bag = new Bag(passengers[i], new Item[] { new Toothbrush() });
                    passengers[i].Bags.Add(bag);
                }
            }

            var trip = new Trip("Tuk", "Tam", airplane);

            airport.AddTrip(trip);

            var flightController = new FlightController(airport);

            var actualResult   = flightController.TakeOff();
            var expectedResult = "TukTam3:\r\nOverbooked! Ejected Gosho1, Gosho0, Gosho3, Gosho7, Gosho8\r\nConfiscated 3 bags ($50006)\r\nSuccessfully transported 5 passengers from Tuk to Tam.\r\nConfiscated bags: 3 (3 items) => $50006";

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void CheckEjectingOverbookedPassagers(int passagersCount)
        {
            string source      = "Honkong";
            string destination = "Tokio";

            //Arrange
            IAirport airport = new Airport();

            FlightController fcTest = new FlightController(airport);

            IAirplane lightAirplane = new LightAirplane();
            //passager
            IPassenger passenger = new Passenger("traveler11");

            for (int i = 0; i < passagersCount; i++)
            {
                lightAirplane.AddPassenger(passenger);
            }

            //passager
            ITrip trip = new Trip(source, destination, lightAirplane);

            airport.AddTrip(trip);
            //Act
            string outputmessage = fcTest.TakeOff();
            //Assert
            int expectedPassagers = Math.Min(lightAirplane.Passengers.Count, passagersCount);
            int actualPassagers   = lightAirplane.Passengers.Count;


            Assert.AreEqual(expectedPassagers, actualPassagers, "passagers not properly thrown out");

            if (passagersCount > lightAirplane.Seats)
            {
                Assert.That(outputmessage.Contains($"Overbooked! Ejected traveler11"));
            }
            else
            {
                Assert.That(!outputmessage.Contains($"Overbooked! Ejected traveler11"));
            }
        }
예제 #21
0
        public void TestIfLoadCarryOnBaggage()
        {
            var airport = new Airport();

            var flightController = new FlightController(airport);

            Passenger passenger = new Passenger("Gosho");
            Item      item      = new CellPhone();
            Bag       bag       = new Bag(passenger, new Item[] { item });

            passenger.Bags.Add(bag);

            var airplane = new LightAirplane();
            List <Passenger> passengers = new List <Passenger>();

            passengers.Add(passenger);
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));
            passengers.Add(new Passenger("Gsoho"));

            foreach (var arg in passengers)
            {
                airplane.AddPassenger(arg);
            }
            Trip trip = new Trip("Tuk", "tam", airplane);

            airport.AddTrip(trip);


            var actualResult   = flightController.TakeOff();
            var expectedResult = "Tuktam4:\r\nOverbooked! Ejected Gsoho, Gosho, Gsoho, Gsoho, Gsoho\r\nConfiscated 1 bags ($700)\r\nSuccessfully transported 5 passengers from Tuk to tam.\r\nConfiscated bags: 1 (1 items) => $700";

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void TakeOffIsOverbookedReturnsCorrectString()
        {
            IAirport airport = new Airport();

            LightAirplane lightAirplane = new LightAirplane();

            lightAirplane.AddPassenger(new Passenger("az"));
            lightAirplane.AddPassenger(new Passenger("ti"));
            lightAirplane.AddPassenger(new Passenger("toi"));
            lightAirplane.AddPassenger(new Passenger("tq"));
            lightAirplane.AddPassenger(new Passenger("to"));
            lightAirplane.AddPassenger(new Passenger("nie"));
            airport.AddTrip(new Trip("source", "Destination", lightAirplane));
            IFlightController flightController = new FlightController(airport);

            string result = flightController.TakeOff();

            Assert.That(result, Is.EqualTo("sourceDestination1:\r\nOverbooked! Ejected ti\r\nConfiscated 0 bags ($0)\r\nSuccessfully transported 5 passengers from source to Destination.\r\nConfiscated bags: 0 (0 items) => $0"));
        }
        public void CheckIfAirplaneIsOverbooked()
        {
            IAirport  airport  = new Airport();
            IAirplane airplane = new LightAirplane();
            ITrip     trip     = new Trip("Tuk", "Tam", airplane);

            airplane.AddPassenger(new Passenger("Pesho1"));
            airplane.AddPassenger(new Passenger("Pesho2"));
            airplane.AddPassenger(new Passenger("Pesho3"));
            airplane.AddPassenger(new Passenger("Pesho4"));
            airplane.AddPassenger(new Passenger("Pesho5"));
            airplane.AddPassenger(new Passenger("Pesho6"));
            airport.AddTrip(trip);
            IFlightController flightController = new FlightController(airport);

            string expectedResult = "TukTam1:\r\nOverbooked! Ejected Pesho2\r\nConfiscated 0 bags ($0)\r\nSuccessfully transported 5 passengers from Tuk to Tam.\r\nConfiscated bags: 0 (0 items) => $0";
            string actualResult   = flightController.TakeOff();

            Assert.AreEqual(expectedResult, actualResult);
            Assert.AreEqual(trip.IsCompleted, true);
        }
        public void TestWithConfiscatedBags()
        {
            IAirport airport = new Airport();

            IAirplane    airplane   = new LightAirplane();
            IPassenger   passenger  = new Passenger("Pesho");
            IPassenger   passenger2 = new Passenger("Kolio");
            IPassenger   passenger3 = new Passenger("Gosho");
            IPassenger   passenger4 = new Passenger("Kiro");
            IPassenger   passenger5 = new Passenger("Ganio");
            IPassenger   passenger6 = new Passenger("Penka");
            IItem        item       = new Toothbrush();
            IItem        item2      = new Jewelery();
            IItem        item3      = new Colombian();
            List <IItem> items      = new List <IItem>();

            items.Add(item);
            items.Add(item2);
            items.Add(item3);
            IBag bag = new Bag(passenger, items);

            airplane.AddPassenger(passenger);
            airplane.AddPassenger(passenger2);
            airplane.AddPassenger(passenger3);
            airplane.AddPassenger(passenger4);
            airplane.AddPassenger(passenger5);
            airplane.AddPassenger(passenger6);
            ITrip trip = new Trip("Sofia", "London", airplane);

            airport.AddTrip(trip);
            airport.AddConfiscatedBag(bag);

            FlightController flight = new FlightController(airport);

            flight.TakeOff();

            var actualResult = trip.IsCompleted;

            Assert.IsTrue(actualResult);
        }
예제 #25
0
        public void Test1()
        {
            IAirplane plane = new LightAirplane();

            IPassenger pasenger = new Passenger("Pesho2");

            plane.AddPassenger(new Passenger("Pesho1"));
            plane.AddPassenger(pasenger);
            plane.AddPassenger(new Passenger("Pesho3"));
            plane.AddPassenger(new Passenger("Pesho4"));
            plane.AddPassenger(new Passenger("Pesho5"));
            plane.AddPassenger(new Passenger("Pesho6"));

            ITrip trip = new Trip("Sofia", "London", plane);

            IAirport airport = new Airport();

            airport.AddTrip(trip);

            IFlightController flightController = new FlightController(airport);

            IBag bag = new Bag(pasenger, new IItem[] { new Colombian() });

            pasenger.Bags.Add(bag);

            ITrip completedTrip = new Trip("London", "Sofia", new LightAirplane());

            completedTrip.Complete();

            airport.AddTrip(completedTrip);

            string actual   = flightController.TakeOff();
            string expected = "SofiaLondon1:\r\nOverbooked! Ejected Pesho2\r\nConfiscated 1 bags ($50000)\r\nSuccessfully transported 5 passengers from Sofia to London.\r\nConfiscated bags: 1 (1 items) => $50000";

            Assert.That(actual, Is.EqualTo(expected));
            Assert.That(trip.IsCompleted, Is.True);
        }
        public void TestAirplaneIsOverBookedAndThereIsConfiscatedBaggage()
        {
            var airport          = new Airport();
            var flightController = new FlightController(airport);
            var airplane         = new LightAirplane();
            var trip             = new Trip("Sofia", "Plovdiv", airplane);

            airport.AddTrip(trip);
            var passenger1 = new Passenger("Pesho");

            airplane.AddPassenger(passenger1);
            var passenger2 = new Passenger("Gogo");

            airplane.AddPassenger(passenger2);
            var passenger3 = new Passenger("Miro");

            airplane.AddPassenger(passenger3);
            var passenger4 = new Passenger("Niki");

            airplane.AddPassenger(passenger4);
            var passenger5 = new Passenger("Lili");

            airplane.AddPassenger(passenger5);
            var passenger6 = new Passenger("Nadia");

            airplane.AddPassenger(passenger6);

            var items = new List <Item>();
            var item1 = new Laptop();
            var item2 = new Jewelery();
            var item3 = new TravelKit();
            var item4 = new Toothbrush();

            items.Add(item1);
            items.Add(item2);
            items.Add(item3);
            items.Add(item4);

            var bag1 = new Bag(passenger1, items);
            var bag2 = new Bag(passenger2, items);
            var bag3 = new Bag(passenger3, items);
            var bag4 = new Bag(passenger4, items);
            var bag5 = new Bag(passenger5, items);

            passenger1.Bags.Add(bag1);
            passenger2.Bags.Add(bag2);
            passenger3.Bags.Add(bag3);
            passenger4.Bags.Add(bag4);
            passenger5.Bags.Add(bag5);

            var completedTrip = new Trip("Sofia", "Varna", new LightAirplane());

            completedTrip.Complete();

            airport.AddTrip(completedTrip);
            string expectedResult = "SofiaPlovdiv1:\r\nOverbooked! Ejected Gogo\r\nConfiscated 1 bags ($3333)\r\nSuccessfully transported 5 passengers from Sofia to Plovdiv.\r\nConfiscated bags: 1 (4 items) => $3333";
            string actualResult   = flightController.TakeOff();

            //System.Console.WriteLine();

            Assert.That(actualResult, Is.EqualTo(expectedResult));
            Assert.That(trip.IsCompleted, Is.True);
        }