public async Task Message_AtomicAsyncHandler_ExecutedInterleaved()
{
// Arrange
var log = new LogBoard<string>();
var actor = ActorOf(() => new TestMessageActor(log));
// Act
actor.Tell(new PlainMessages.TaskReentrant { Value = "A" });
actor.Tell(new PlainMessages.TaskReentrant { Value = "B" });
await actor.GracefulStop(TimeSpan.FromMinutes(1), InterfacedPoisonPill.Instance);
// Assert
Assert.Equal(new[] { "A_1", "B_1" },
log.Take(2));
Assert.Equal(new[] { "A_2", "B_2" },
log.Skip(2).OrderBy(x => x));
}
}