public void Tail_chopping_router_must_throw_exception_if_no_result_will_arrive_within_the_given_time()
{
var actor1 = Sys.ActorOf(Props.Create(() => new TailChopTestActor(500)), "Actor5");
var actor2 = Sys.ActorOf(Props.Create(() => new TailChopTestActor(500)), "Actor6");
var probe = CreateTestProbe();
var routedActor = Sys.ActorOf(Props.Create<TestActor>()
.WithRouter(new TailChoppingGroup(
new[]
{
actor1.Path.ToString(),
actor2.Path.ToString()
},
TimeSpan.FromMilliseconds(300),
TimeSpan.FromMilliseconds(50))
));
probe.Send(routedActor, "");
probe.ExpectMsg<Status.Failure>(TimeSpan.FromMilliseconds(700));
var actorList = new List<IActorRef> { actor1, actor2 };
Assert.True(AllShouldEqual(1, actorList)(x => (int) x.Ask("times").Result));
routedActor.Tell(new Broadcast("stop"));
}
}