Exemple #1
0
        public void BookSeat_BookAValidAvailableSeat_ShouldPassTest()
        {
            // Arrange
            bool          expected = true;
            SystemManager system   = new SystemManager();

            system.CreateAirport("AAA");
            system.CreateAirport("BBB");

            system.CreateAirline("ASD");

            system.CreateFlight("ASD", "AAA", "BBB", 1972, 6, 4, "1543");

            system.CreateSection("ASD", "1543", 4, 4, SeatClass.BUSINESS);

            // Act
            system.BookSeat("ASD", "1543", SeatClass.BUSINESS, 2, 'B');
            bool actual = system
                          .AirlinesReference[0]
                          .FlightsReference[0]
                          .FlightSectionsReference[0]
                          .Seats[5].IsBooked;

            // Assert
            Assert.Equal(expected, actual);
        }
Exemple #2
0
        private void seatBook_Click(object sender, EventArgs e)
        {
            txtConsole.Clear();
            try
            {
                if (string.IsNullOrEmpty(seatCombo1.Text))
                {
                    throw new Exception(ExceptionHelper.InvalidSeat);
                }
                string[] airlineAndFlight = flightCombo2.Text.Split(' ');

                string[] rowColClass = seatCombo1.Text.Split(' ');

                SeatClass seatClass;
                Enum.TryParse(rowColClass[2].ToString(), out seatClass);

                res.BookSeat(airlineAndFlight[0], airlineAndFlight[1], seatClass, int.Parse(rowColClass[0]), rowColClass[1]);

                seatCombo1.Items.Clear();
                seatCombo1.Text = "";
                seatCombo1.Items.AddRange(res.GetAvailableSeatsForFlight(flightCombo2.Text).ToArray());
                // If there are no more seats clear the combo for the flight
                if (seatCombo1.Items.Count == 0)
                {
                    flightCombo2.Items.Clear();
                    flightCombo2.Text = "";
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Exemple #3
0
        public void BookSeat_BookASeatToUnexistingAirline_ShouldPassTest()
        {
            // Arrange
            SystemManagerOperation expected = SystemManagerOperation.UnexistingAirlineFailure;
            SystemManager          system   = new SystemManager();

            // Act
            SystemManagerOperation actual = system.BookSeat("ASD", "1234", SeatClass.BUSINESS, 5, 'A');

            // Assert
            Assert.Equal(expected, actual);
        }
Exemple #4
0
        public void BookSeat_BookASeatThatIsBooked_ShouldPassTest()
        {
            // Arrange
            SystemManagerOperation expected = SystemManagerOperation.BookingSeatFailure;
            SystemManager          system   = new SystemManager();

            system.CreateAirport("AAA");
            system.CreateAirport("BBB");

            system.CreateAirline("ASD");

            system.CreateFlight("ASD", "AAA", "BBB", 1992, 4, 5, "1543");

            system.CreateSection("ASD", "1543", 5, 4, SeatClass.BUSINESS);

            system.BookSeat("ASD", "1543", SeatClass.BUSINESS, 5, 'A');

            // Act
            SystemManagerOperation actual = system.BookSeat("ASD", "1543", SeatClass.BUSINESS, 5, 'A');

            // Assert
            Assert.Equal(expected, actual);
        }
Exemple #5
0
        public void BookSeat_BookASeatToUnexistingFlight_ShouldPassTest()
        {
            // Arrange
            SystemManagerOperation expected = SystemManagerOperation.UnexistingFlightFailure;
            SystemManager          system   = new SystemManager();

            system.CreateAirport("AAA");
            system.CreateAirport("BBB");

            system.CreateAirline("ASD");

            system.CreateFlight("ASD", "AAA", "BBB", 1972, 3, 2, "1543");
            system.CreateFlight("ASD", "AAA", "BBB", 1972, 3, 2, "1523");
            system.CreateFlight("ASD", "AAA", "BBB", 1972, 3, 2, "13");

            // Act
            SystemManagerOperation actual = system.BookSeat("ASD", "1234", SeatClass.BUSINESS, 5, 'A');

            // Assert
            Assert.Equal(expected, actual);
        }
Exemple #6
0
        public void FinalTests_ShouldPassTest()
        {
            SystemManager res = new SystemManager();

            //Create airports
            res.CreateAirport("DEN");
            res.CreateAirport("DFW");
            res.CreateAirport("LON");
            res.CreateAirport("JPN");

            try
            {
                res.CreateAirport("DE"); //invalid
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(ex.Message);
            }

            res.CreateAirport("DEH");
            res.CreateAirport("DEN"); //invalid
            res.CreateAirport("NCE");

            try
            {
                res.CreateAirport("TRIord9"); //invalid
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(ex.Message);
            }

            res.CreateAirport("DEN"); //invalid

            //Create airlines
            res.CreateAirline("DELTA");
            res.CreateAirline("AMER");
            res.CreateAirline("JET");

            res.CreateAirline("DELTA"); //invalid
            res.CreateAirline("SWEST");
            res.CreateAirline("AMER");  //invalid
            res.CreateAirline("FRONT");

            try
            {
                res.CreateAirline("FRONTIER"); //invalid
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(ex.Message);
            }

            //Create flights
            res.CreateFlight("DELTA", "DEN", "LON", 2009, 10, 10, "123");
            res.CreateFlight("DELTA", "DEN", "DEH", 2009, 8, 8, "567");
            res.CreateFlight("DELTA", "DEN", "NCE", 2010, 9, 8, "567"); //invalid
            res.CreateFlight("JET", "LON", "DEN", 2009, 5, 7, "123");
            res.CreateFlight("AMER", "DEN", "LON", 2010, 10, 1, "123");
            res.CreateFlight("JET", "DEN", "LON", 2010, 6, 10, "786");
            res.CreateFlight("JET", "DEN", "LON", 2009, 1, 12, "909");

            //Create sections
            res.CreateSection("JET", "123", 2, 2, SeatClass.ECONOMY);
            res.CreateSection("JET", "123", 1, 3, SeatClass.ECONOMY); //invalid
            res.CreateSection("JET", "123", 2, 3, SeatClass.FIRST);
            res.CreateSection("DELTA", "123", 1, 1, SeatClass.BUSINESS);
            res.CreateSection("DELTA", "123", 1, 2, SeatClass.ECONOMY);
            res.CreateSection("SWSERTT", "123", 5, 5, SeatClass.ECONOMY); //invalid

            res.DisplaySystemDetails();

            res.FindAvailableFlights("DEN", "LON");

            // Book seats
            res.BookSeat("DELTA", "123", SeatClass.BUSINESS, 1, 'A');
            res.BookSeat("DELTA", "123", SeatClass.ECONOMY, 1, 'A');
            res.BookSeat("DELTA", "123", SeatClass.ECONOMY, 1, 'B');
            res.BookSeat("DELTA", "123", SeatClass.BUSINESS, 1, 'A'); //already booked

            res.DisplaySystemDetails();

            res.FindAvailableFlights("DEN", "LON");
        }
Exemple #7
0
        static void Main(string[] args)
        {
            SystemManager res = new SystemManager();

            res.CreateAirport("DEN");
            res.CreateAirport("DFW");
            res.CreateAirport("LON");
            res.CreateAirport("JPN");
            // Invalid.
            res.CreateAirport("DE");
            res.CreateAirport("DEH");
            res.CreateAirport("DEN");
            res.CreateAirport("NCE");
            // Invalid.
            res.CreateAirport("TRIord9");
            res.CreateAirport("DEN");

            res.CreateAirline("DELTA");
            res.CreateAirline("AMER");
            res.CreateAirline("JET");
            // Already exists.
            res.CreateAirline("DELTA");
            res.CreateAirline("SWEST");
            // Already exists.
            res.CreateAirline("AMER");
            res.CreateAirline("FRONT");
            // Invalid
            res.CreateAirline("FRONTIER");

            res.CreateFlight("DELTA", "DEN", "LON", 2009, 10, 10, "123");
            res.CreateFlight("DELTA", "DEN", "DEH", 2009, 8, 8, "567");
            // Invalid.
            res.CreateFlight("DELTA", "DEN", "NCE", 2010, 9, 8, "567");
            res.CreateFlight("JET", "LON", "DEN", 2009, 5, 7, "123");
            res.CreateFlight("AMER", "DEN", "LON", 2010, 10, 1, "123");
            res.CreateFlight("JET", "DEN", "LON", 2010, 6, 10, "786");
            res.CreateFlight("JET", "DEN", "LON", 2009, 1, 12, "909");
            res.CreateFlight("JET", "DEN", "LON", 2009, 1, 12, "909");

            // Create sections.
            res.CreateSection("JET", "123", 2, 2, SeatClass.Economy);
            // Invalid for me.
            res.CreateSection("JET", "123", 1, 3, SeatClass.Economy);
            res.CreateSection("JET", "123", 2, 3, SeatClass.First);
            res.CreateSection("DELTA", "123", 1, 1, SeatClass.Business);
            res.CreateSection("DELTA", "123", 1, 2, SeatClass.Economy);
            // Invalid.
            res.CreateSection("SWSERTT", "123", 5, 5, SeatClass.Economy);

            res.DisplaySystemDetails();

            res.FindAvailableFlights("DEN", "LON");

            res.BookSeat("DELTA", "123", SeatClass.Business, 1, 'A');
            res.BookSeat("DELTA", "123", SeatClass.Economy, 1, 'A');
            res.BookSeat("DELTA", "123", SeatClass.Economy, 1, 'B');
            // Already booked.
            res.BookSeat("DELTA", "123", SeatClass.Business, 1, 'A');

            res.DisplaySystemDetails();

            res.FindAvailableFlights("DEN", "LON");
            Console.ReadKey();
        }