public void CreateReservation() { // Arrange DiscountCondition dc = new DiscountCondition() { Type = DiscountConditionType.SEQUENCE, Sequence = 5 }; Movie movie = new Movie("THE BATMAN", TimeSpan.FromMinutes(300), Money.Wons(14000), Money.Wons(2000), dc); Screening screening = new Screening() { Movie = movie, Sequence = 5, WhenScreened = new DateTime(2022, 3, 12, 18, 00, 00) }; Customer customer = new Customer("jongfeel", "0"); // Action Reservation reservation = new ReservationAgency().Reserve(screening, customer, 1); // Assert Assert.IsNotNull(new ReservationAgency().Reserve(screening, customer, 1)); Assert.AreEqual(reservation.Customer, customer); Assert.AreEqual(reservation.Screening, screening); Assert.AreEqual(reservation.Fee, Money.Wons(12000)); Assert.AreEqual(reservation.AudienceCount, 1); }
static void Main(string[] args) { // Reservation movie by DiscountCondition DiscountCondition dc = new DiscountCondition(); dc.Type = DiscountConditionType.PERIOD; dc.DayOfWeek = DayOfWeek.Friday; dc.StartTime = new DateTime(2021, 8, 13, 17, 0, 0); dc.EndTime = new DateTime(2021, 8, 13, 21, 0, 0); Movie freeguy = new Movie("Free guy", TimeSpan.FromMinutes(115), Money.Wons(14000), Money.Wons(5000), dc); Screening screening = new Screening(); screening.Movie = freeguy; screening.Sequence = 1; screening.WhenScreened = new DateTime(2021, 8, 13, 18, 30, 0); Reservation reservation = new ReservationAgency().Reserve(screening, new Customer("jongfeel", "feel"), 1); Console.WriteLine("Movie.Fee=" + freeguy.Fee); Console.WriteLine("Reservation.Fee=" + reservation.Fee); }