Exemple #1
0
 public FerrySeatingMap(List <Seat> seatingMap, IAdjacentSeatChecker adjacentSeatChecker, int tolerance)
 {
     SeatingMap                 = seatingMap;
     _adjacentSeatChecker       = adjacentSeatChecker;
     _tolerance                 = tolerance;
     AtLeastOnePersonMovedSeats = true;
 }
Exemple #2
0
        private int GetNumberOfSeatsChanged(IAdjacentSeatChecker adjacentSeatChecker, int tolerance)
        {
            var seatFiller = new FerrySeatingMap(StartingSeats, adjacentSeatChecker, tolerance);

            var iteration = 0;

            while (seatFiller.AtLeastOnePersonMovedSeats)
            {
                iteration++;
                seatFiller.PopulateSeats();
                Console.WriteLine($"Iteration count: {iteration}");
            }

            return(seatFiller.SeatingMap.Count(s => s.Status == SeatStatus.Occupied));
        }