POO Avancée & Architecture Logicielle avec C#
Le pattern AAA
[Fact]
public async Task ReserveAsync_ShouldRejectOverlap_WhenSlotAlreadyTaken()
{
var repository = new InMemoryReservationRepository(existingReservation);
var handler = new ReserveResourceHandler(repository, new FakeUnitOfWork(), new FakeClock());
await Assert.ThrowsAsync<ResourceAlreadyReservedException>(() =>
handler.HandleAsync(command, CancellationToken.None));
}
- Arrange: contexte maîtrisé.
- Act: une action lisible.
- Assert: une attente précise.