public void ListAvailableSeats_WhenNoReservationMade_ReturnsAllSeats()
        {
            Given();

            WhenQuery(new ListAvailableSeats());

            var expected = new AvailableSeats(
                Seat.A,
                Seat.B,
                Seat.C,
                Seat.D,
                Seat.E);

            ThenExpects(expected);
        }
        public void ListAvailableSeats_WhenSeatsAreReserved_ReturnsRemainingSeats()
        {
            Given(
                new SeatReserved(Jon, Seat.A),
                new SeatReserved(Dalzy, Seat.B)
                );

            WhenQuery(new ListAvailableSeats());

            var expected = new AvailableSeats(
                Seat.C,
                Seat.D,
                Seat.E);

            ThenExpects(expected);
        }
        public void GivenSomeSeatsReserved_WhenReserveNewSeat_ReturnRemainingSeats()
        {
            Given(
                new SeatReserved(Dalzy, Seat.A),
                new SeatReserved(Jon, Seat.B)
                );

            When(new ReserveSeatCommand(Dalzy, Seat.C));
            WhenQuery(new ListAvailableSeats());

            var response = new AvailableSeats(
                Seat.D,
                Seat.E
                );

            ThenExpects(response);
        }
        private void AddTestData()
        {
            if (bTestDataAdded)
            {
                return;
            }

            try
            {
                Flights.AddRange(
                    new Flights()
                {
                    FlightCode = "CA579", FromLocation = "Geelong", ToLocation = "Lorne", Capacity = 5, DepartureTime = new TimeSpan(11, 35, 0)
                },
                    new Flights()
                {
                    FlightCode = "JT231", FromLocation = "Dandenong", ToLocation = "Emerald", Capacity = 8, DepartureTime = new TimeSpan(11, 35, 0)
                });

                AvailableSeats.AddRange(
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 10), VacantSeats = 0
                },
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 11), VacantSeats = 0
                },
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 12), VacantSeats = 5
                },
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 13), VacantSeats = 5
                },
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 14), VacantSeats = 5
                },
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 15), VacantSeats = 3
                },
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 16), VacantSeats = 2
                },
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 17), VacantSeats = 1
                },
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 18), VacantSeats = 5
                },
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 19), VacantSeats = 5
                },
                    new AvailableSeats()
                {
                    FlightCode = "CA579", Date = new DateTime(2018, 09, 20), VacantSeats = 5
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 10), VacantSeats = 8
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 11), VacantSeats = 8
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 12), VacantSeats = 8
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 13), VacantSeats = 0
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 14), VacantSeats = 8
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 15), VacantSeats = 8
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 16), VacantSeats = 4
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 17), VacantSeats = 0
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 18), VacantSeats = 0
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 19), VacantSeats = 8
                },
                    new AvailableSeats()
                {
                    FlightCode = "JT231", Date = new DateTime(2018, 09, 20), VacantSeats = 8
                }
                    );

                SaveChanges();
                bTestDataAdded = true;
            }
            catch (Exception e)
            {
                throw new DbUpdateException("Error when seeding data.", e);
            }
        }
Example #5
0
 public override int GetHashCode()
 {
     return(Origin.GetHashCode() ^ Destination.GetHashCode() ^ AvailableSeats.GetHashCode());
 }