public void RemoveSeats_ForNonExistingSeatType_DoNothing() { // Arrange var unknownSeatType = Guid.NewGuid(); var sut = new SeatsAvailability(_reservationId); // Act sut.AddSeats(_seatTypeId, AvailableSeats); sut.RemoveSeats(unknownSeatType, 5); // Assert Assert.DoesNotContain(sut.Events, @event => (@event is AvailableSeatsChanged e && e.Seats.ElementAt(0).SeatType == unknownSeatType)); }
public void RemoveSeats_ForExistingSeatType_ChangesSeatsAvailability() { // Arrange var quantity = 5; var sut = new SeatsAvailability(_reservationId); // Act sut.AddSeats(_seatTypeId, AvailableSeats); sut.RemoveSeats(_seatTypeId, quantity); // Assert Assert.Equal(_seatTypeId, ((AvailableSeatsChanged)sut.Events.LastOrDefault()).Seats.ElementAt(0).SeatType); Assert.Equal(-quantity, ((AvailableSeatsChanged)sut.Events.LastOrDefault()).Seats.ElementAt(0).Quantity); }