public static TrainSnapshot GetTrainWith1CoachAnd10SeatsAvailable(string trainId)
        {
            var train = new TrainSnapshot(trainId, new List <SeatWithBookingReference>()
            {
                new SeatWithBookingReference(new Seat("A", 1), BookingReference.Null),
                new SeatWithBookingReference(new Seat("A", 2), BookingReference.Null),
                new SeatWithBookingReference(new Seat("A", 3), BookingReference.Null),
                new SeatWithBookingReference(new Seat("A", 4), BookingReference.Null),
                new SeatWithBookingReference(new Seat("A", 5), BookingReference.Null),
                new SeatWithBookingReference(new Seat("A", 6), BookingReference.Null),
                new SeatWithBookingReference(new Seat("A", 7), BookingReference.Null),
                new SeatWithBookingReference(new Seat("A", 8), BookingReference.Null),
                new SeatWithBookingReference(new Seat("A", 9), BookingReference.Null),
                new SeatWithBookingReference(new Seat("A", 10), BookingReference.Null)
            });

            return(train);
        }
Beispiel #2
0
        public void MarkSeatsAsReserved(string trainId, BookingReference bookingReference, Seats seats)
        {
            var formerSnapshot        = trainSnapshots[trainId];
            var newSeatsConfiguration = new List <SeatWithBookingReference>(formerSnapshot.OverallTrainCapacity);

            foreach (var seatWithBookingReference in formerSnapshot.SeatsWithBookingReferences)
            {
                if (seats.Contains(seatWithBookingReference.Seat))
                {
                    // must keep the new reservation id for this seat
                    var newBookingReference = new SeatWithBookingReference(seatWithBookingReference.Seat, bookingReference);
                    newSeatsConfiguration.Add(newBookingReference);
                }
                else
                {
                    // keep the former value
                    newSeatsConfiguration.Add(seatWithBookingReference);
                }
            }

            var updatedSnapshot = new TrainSnapshot(trainId, newSeatsConfiguration);

            trainSnapshots[trainId] = updatedSnapshot;
        }
Beispiel #3
0
 public TrainDataServiceMock(TrainSnapshot initialSnapshot)
 {
     trainSnapshots[initialSnapshot.TrainId] = initialSnapshot;
 }
        public static TrainSnapshot GetTrainWith2CoachesAnd2IndividualSeatsAvailable(string trainId)
        {
            var train = new TrainSnapshot(trainId, GetSeatsWithBookingReferencesFor2CoachesOf10Seats());

            return(train);
        }
        public static TrainSnapshot GetTrainWith2CoachesOf10And1Then2SeatsAvailable(string trainId)
        {
            var train = new TrainSnapshot(trainId, GetSeatsWithBookingReferencesFor2CoachesOf10SeatsAndMoreSeatsOnCoachB());

            return(train);
        }
        private static IProvideTrainData ConfigureATrainDataProviderMock(string trainId, TrainSnapshot trainConfiguration)
        {
            var trainDataProvider = Substitute.For <IProvideTrainData>();

            trainDataProvider.GetTrainSnapshot(trainId).Returns(trainConfiguration);
            return(trainDataProvider);
        }