예제 #1
0
    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);
    }
예제 #2
0
파일: Program.cs 프로젝트: jongfeel/objects
        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);
        }