Akka.Interfaced.MessageDispatchTest.Message_AtomicAsyncHandler_ExecutedInterleaved C# (CSharp) Method

Message_AtomicAsyncHandler_ExecutedInterleaved() private method

private Message_AtomicAsyncHandler_ExecutedInterleaved ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
        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));
        }
    }