public void ParseBoardingString_FailsWhenInCorrectBoardingPassStringSupplied_Test()
        {
            // Act
            var result = BoardingPassParsor.ParseBoardingString("some random text as boarding pass string");

            // Assert
            Assert.AreEqual(result.IsSuccess, false);
            Assert.AreEqual(result.Error, "No Passenger Found");
        }
        public void ParseBoardingString_Success_Test()
        {
            // Act
            var result = BoardingPassParsor.ParseBoardingString(_bpString);

            // Assert
            Assert.AreEqual(result.PassengerNameRecord.FirstName, "JOHN");
            Assert.AreEqual(result.PassengerNameRecord.LastName, "DOE");
            Assert.AreEqual(result.PassengerNameRecord.TravelClass, "Y");

            var flight = result.PassengerNameRecord.Flights[0];

            Assert.AreEqual(flight.Origin, "AMS");
            Assert.AreEqual(flight.Destination, "JFK");
            Assert.AreEqual(flight.FlightNumber, "0463");
        }
示例#3
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            try
            {
                CheckInManager cm = new CheckInManager();

                currentFindPassengerResult = cm.FindPassenger(txtBoardingPassString.Text);
                if (currentFindPassengerResult.IsSuccess)
                {
                    UpdatePNROnUI(currentFindPassengerResult);
                }
                else
                {
                    MessageBox.Show(currentFindPassengerResult.Error, "Passenger Service Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                // use online parser if passenger service is down
                // this can be used only to see boarding pass data
                // for operations lile checkin, passenger service must work
                var confirmResult = MessageBox.Show("Passenger service failed to scan the boarding pass due to the error " + ex.Message + Environment.NewLine +
                                                    "Do you want to use the online parser to parse the boarding pass?", "Confirm!",
                                                    MessageBoxButtons.YesNo);
                if (confirmResult == DialogResult.Yes)
                {
                    currentFindPassengerResult = BoardingPassParsor.ParseBoardingString(txtBoardingPassString.Text);
                    if (currentFindPassengerResult.IsSuccess)
                    {
                        UpdatePNROnUI(currentFindPassengerResult);
                    }
                    else
                    {
                        MessageBox.Show(currentFindPassengerResult.Error, "Parsing Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    currentFindPassengerResult.IsSuccess = false; // set success to false to make sure checkin is not allowed
                }
            }
        }