public void GuestCountTest() { //arrange List <Person> guests = new List <Person>(); Person person = new Person(); person.Name = "John"; GuestDecorator guest = new GuestDecorator("ABC123456", 21); guest.SetComponent(person); guests.Add(guest); Client client = new Client(1, "Marry", "Edinburgh"); GuestDecorator guest2 = new GuestDecorator("XYZ987456", 25); guest.SetComponent(client); guests.Add(guest2); int expectedCount = 2; Booking booking = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(6)), client, guests, 2); BreakfastDecorator breakfastDecorator = new BreakfastDecorator(); breakfastDecorator.SetComponent(booking); // act int actualCount = breakfastDecorator.GuestCount(); //assert Assert.AreEqual(expectedCount, actualCount, 0, "GuestCount not working properly"); }
public void CalculateCost1() { //arrange List <Person> guests = new List <Person>(); Person person = new Person(); person.Name = "John"; GuestDecorator guest = new GuestDecorator("ABC123456", 21); guest.SetComponent(person); guests.Add(guest); Client client = new Client(1, "Marry", "Edinburgh"); GuestDecorator guest2 = new GuestDecorator("XYZ987456", 25); guest.SetComponent(client); guests.Add(guest2); double expectedAmount = 360; Booking booking = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(6)), client, guests, 2); //act double actualAmount = booking.CalculateCost(); //assert Assert.AreEqual(expectedAmount, actualAmount, 0, "CalculateCost method not working properly"); }
public void TotalPriceTest3() { //arrange List <Person> guests = new List <Person>(); Client client = new Client(1, "Marry", "Edinburgh"); GuestDecorator guest = new GuestDecorator("XYZ987456", 25); guest.SetComponent(client); guests.Add(guest); double expectedAmount = 580; Booking booking = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(4)), client, guests, 2); EveningMealDecorator eveningMeal = new EveningMealDecorator(); eveningMeal.SetComponent(booking); CarHireDecorator carHireDecorator = new CarHireDecorator(); carHireDecorator.StartDate = DateTime.Today; carHireDecorator.EndDate = DateTime.Today.Add(TimeSpan.FromDays(4)); carHireDecorator.SetComponent(eveningMeal); // act double actualAmount = carHireDecorator.TotalPriece(); //assert Assert.AreEqual(expectedAmount, actualAmount, 0, "TotalPrice method working properly"); }
public void TotalPriceTest2() { //arrange List <Person> guests = new List <Person>(); Person person = new Person(); person.Name = "John"; GuestDecorator guest1 = new GuestDecorator("ABC123456", 21); guest1.SetComponent(person); guests.Add(guest1); Client client = new Client(1, "Marry", "Edinburgh"); GuestDecorator guest = new GuestDecorator("XYZ987456", 25); guest.SetComponent(client); guests.Add(guest); double expectedAmount = 390; Booking booking = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(3)), client, guests, 2); EveningMealDecorator eveningMeal = new EveningMealDecorator(); eveningMeal.SetComponent(booking); // act double actualAmount = eveningMeal.TotalPriece(); //assert Assert.AreEqual(expectedAmount, actualAmount, 0, "TotalPrice method working properly"); }
string oldPassportNo; // used when updating guest's passport number public CustomerDetails() { InitializeComponent(); // below code retreives customer's details from database and displays it in the window List <Person> clientList = DataLayerFacade.GetCustomer(CustomerL.customerNumber); this.Topmost = true; Client client = (Client)clientList.ElementAt(0); textBoxName.Text = client.Name; textBoxAddress.Text = client.Address; textBoxPassNo.MaxLength = 10; textBoxAddress.MaxLength = 150; textBoxName.MaxLength = 50; lblCustNumb.Content = client.CustomerNumber; List <Person> guestDecorator = DataLayerFacade.GetGuestDecorator(CustomerL.customerNumber, 0); if (guestDecorator.Count == 0) { textBoxPassNo.Visibility = Visibility.Hidden; textBoxAge.Visibility = Visibility.Hidden; lblPassNo.Visibility = Visibility.Hidden; lblAge.Visibility = Visibility.Hidden; } else { // if the customer is also a guest, the guest's details are also displayed GuestDecorator guest = (GuestDecorator)guestDecorator.ElementAt(0); guest.SetComponent(client); textBoxPassNo.Text = guest.PassportNumber; oldPassportNo = guest.PassportNumber; textBoxAge.Text = guest.Age.ToString(); } }
// if a customer is also a guest it retreives a customer object wrapped in a guest decorator public static List <Person> GetGuestDecorator(int customerNmber, int bookingRef) { List <Person> guestList = new List <Person>(); List <GuestItem> guestItemList = DatabaseCalls.GetGuestsDetails(customerNmber, bookingRef); if (guestItemList.Count == 0) { return(guestList); } foreach (var item in guestItemList) { Person person = new Person { Name = item.Name }; GuestDecorator guest = new GuestDecorator(item.PassportNumber, item.Age); guest.SetComponent(person); guestList.Add(guest); } return(guestList); }
public void TotalPriceTest1() { //arrange List <Person> guests = new List <Person>(); Client client = new Client(1, "Marry", "Edinburgh"); GuestDecorator guest = new GuestDecorator("XYZ987456", 25); guest.SetComponent(client); guests.Add(guest); double expectedAmount = 595; Booking booking = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(7)), client, guests, 2); // act double actualAmount = booking.TotalPriece(); //assert Assert.AreEqual(expectedAmount, actualAmount, 0, "TotalPrice method working properly"); }
// retreives all information for a booking and reconstructs it into an object public static AbstractBooking RetreiveBooking(int bookingId) { Client customer = null; List <Person> guestList = new List <Person>(); int customerRef = DatabaseCalls.GetCustIdForBooking(bookingId); CustomerItem customerItem = DatabaseCalls.GetCustomersDetails(customerRef).ElementAt(0); BusinessFacadeSingleton businessFacade = BusinessFacadeSingleton.Instance(); customer = businessFacade.CreateClient(customerItem.Id, customerItem.Name, customerItem.Address); foreach (var guestItem in DatabaseCalls.GetGuestsDetails(0, bookingId)) { GuestDecorator guest = businessFacade.CreateGuest(guestItem.Name, guestItem.PassportNumber, guestItem.Age); if (DatabaseCalls.IsCustomer(guest.Name)) { guest.SetComponent(customer); } guestList.Add(guest); } BookingItem bookingItem = DatabaseCalls.GetBookingDetails(bookingId); CarHireItem carHireItem = DatabaseCalls.GetCarHireDetails(bookingId); bool carHire = false; string driver = ""; DateTime hireStart = DateTime.Today; DateTime hireEnd = DateTime.Today; if (carHireItem != null) { carHire = true; driver = carHireItem.Driver; hireStart = carHireItem.HireStart; hireEnd = carHireItem.HireEnd; } var booking = businessFacade.CreateBooking(bookingId, bookingItem.Arrival, bookingItem.Departure, customer, guestList, bookingItem.ChaletId, bookingItem.EveningMeal, bookingItem.Breakfast, carHire, hireStart, hireEnd, driver); return(booking); }
public void NightCountTest() { //arrange List <Person> guests = new List <Person>(); Client client = new Client(1, "Marry", "Edinburgh"); GuestDecorator guest = new GuestDecorator("XYZ987456", 25); guest.SetComponent(client); guests.Add(guest); int expectedCount = 6; Booking booking = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(6)), client, guests, 2); EveningMealDecorator eveningMeal = new EveningMealDecorator(); eveningMeal.SetComponent(booking); //act int actualCount = eveningMeal.NightCount(); //assert Assert.AreEqual(expectedCount, actualCount, 0, "NightCount method not working properly"); }