public void CheckForReservationForDinerWithoutReservation() { ISeatSearcher search = new ConfigurableSeatSearcher(new AllRestaurantRepository(), new[] { new EmptySeatsFilter() }, new[] { new SameFamilyScoreCalculator() }, new[] { new PreferTablesWithGuestsSorter() }); var query = new UnreservedSeatForDinerQuery("Dwayne", "Johnson"); ISeatSearcher reservationChecker = new ReservationCheckerDecorator(search, new ReservationRepository()); var seats = reservationChecker.FindSeats(query); ValidateMultipleRestaurants(seats); }
public void CheckForReservationForDinerWithReservation() { ISeatSearcher search = new ConfigurableSeatSearcher(new AllRestaurantRepository(), new[] { new EmptySeatsFilter() }, new[] { new SameFamilyScoreCalculator() }, new[] { new PreferTablesWithGuestsSorter() }); ISeatSearcher reservationChecker = new ReservationCheckerDecorator(search, new ReservationRepository()); var firstName = "John"; var lastName = "Boyega"; var query = new UnreservedSeatForDinerQuery(firstName, lastName); var seats = reservationChecker.FindSeats(query); seats.Should().HaveCount(1); var seat = seats.First(); seat.Restaurant.Should().Be("De Peirdestal"); seat.SectionId.Should().Be(0); seat.TableId.Should().Be(2); }