private async Task BindTypeToBoundActor_And_RequestToBoundActor_Response()
{
// Arrange
var channel = ActorOf<TestActorBoundChannel>().Cast<ActorBoundChannelRef>();
var dummy = ActorOf<DummyActor>();
var boundActor = (BoundActorTarget)await channel.BindActor(dummy, new TaggedType[] { typeof(IDummyEx) });
Assert.NotNull(boundActor);
// Act
var done = await channel.BindType(dummy, new TaggedType[] { typeof(IDummyEx2) });
Assert.True(done);
var r2 = await channel.CastToIActorRef().Ask<ResponseMessage>(new TestActorBoundChannel.Request
{
ActorId = boundActor.Id,
Message = new RequestMessage
{
RequestId = 1,
InvokePayload = new IDummyEx2_PayloadTable.CallEx2_Invoke { param = "Test" }
}
});
// Assert
Assert.Equal(1, r2.RequestId);
Assert.Equal("CallEx2:Test", r2.ReturnPayload.Value);
}