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"); }
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 } } }