コード例 #1
0
        public void sellTicket_ticketForFamily_expectsTicket()
        {
            IEventProducer  eventProducer   = Mock.Of <IEventProducer>();
            EntranceControl entranceControl = new EntranceControl(logger, eventProducer);

            Ticket ticket = entranceControl.SellTicket(TicketType.Family);

            Assert.NotNull(ticket);
            Assert.Equal(TicketType.Family, ticket.Type);
            Assert.Equal(ticket.Day.Date, DateTime.Now.Date);
        }
コード例 #2
0
        public void changeParkStatus_openAndClosePark_expectsStatusToBeChanged()
        {
            IEventProducer  eventProducer   = Mock.Of <IEventProducer>();
            EntranceControl entranceControl = new EntranceControl(logger, eventProducer);

            entranceControl.OpenPark();
            Assert.True(entranceControl.IsOpen());

            entranceControl.ClosePark();
            Assert.False(entranceControl.IsOpen());
        }
コード例 #3
0
        public void sellTickets_differentTicketTypes_expectsTickets()
        {
            IEventProducer  eventProducer   = Mock.Of <IEventProducer>();
            EntranceControl entranceControl = new EntranceControl(logger, eventProducer);

            List <TicketType> ticketTypes = new List <TicketType>();

            ticketTypes.Add(TicketType.Adult);
            ticketTypes.Add(TicketType.Adult);
            ticketTypes.Add(TicketType.Seniors);
            ticketTypes.Add(TicketType.Child);
            ticketTypes.Add(TicketType.Child);
            ticketTypes.Add(TicketType.Child);

            List <Ticket> tickets = entranceControl.SellTickets(ticketTypes);

            Assert.NotNull(tickets);
            Assert.Equal(6, tickets.Count);
            Assert.Equal(2, tickets.FindAll(ticket => ticket.Type == TicketType.Adult).Count);
            Assert.Single(tickets.FindAll(ticket => ticket.Type == TicketType.Seniors));
            Assert.Equal(3, tickets.FindAll(ticket => ticket.Type == TicketType.Child).Count);
        }