public async Task Schedule_AtomicAndReentrantHandler_Interleaved()
{
// Arrange
var log = new LogBoard<Tuple<int, int>>();
var a = ActorOf(() => new TestScheduleActor(log)).Cast<WorkerRef>();
// Act
var t1 = a.Reentrant(1);
var t2 = a.Atomic(2);
await Task.WhenAll(t1, t2);
// Assert
Assert.Equal(new Tuple<int, int>[]
{
Tuple.Create(1, 1),
Tuple.Create(2, 1),
Tuple.Create(2, 2),
Tuple.Create(2, 3),
Tuple.Create(1, 2),
Tuple.Create(1, 3),
}, log);
}