Ejemplo n.º 1
0
        private async Task <FakeBaseActor> CreateActor(IActorStateManager actorStateManager, Guid id)
        {
            var actorTypeInformation = ActorTypeInformation.Get(typeof(FakeBaseActor));

            FakeBaseActor actorFactory(ActorService service, ActorId id) =>
            new FakeBaseActor(service, id, actorStateManager);

            var           actorService = new ActorService(actorTypeInformation, actorFactory);
            FakeBaseActor actor        = actorFactory(actorService, new ActorId(id.ToString()));
            MethodInfo    OnActivate   = actor.GetType().GetMethod("OnActivateAsync", BindingFlags.NonPublic | BindingFlags.Instance);

            await(Task) OnActivate.Invoke(actor, Array.Empty <object>());
            return(actor);
        }
Ejemplo n.º 2
0
        public async Task ActorBaseIsInitialized_ExpectTrue()
        {
            var stateManager = new Mock <IActorStateManager>();
            var state        = new FakeState {
                FakeGuid = Guid.NewGuid(), FakeString = "hello world", FakeInt = 2000
            };

            stateManager.Setup(manager => manager.GetStateAsync <FakeState>(_stateName, It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult(state))
            .Verifiable();
            // stateManager.Setup(manager => manager.SetStateAsync("FakeBase", state, It.IsAny<CancellationToken>())).Verifiable();
            FakeBaseActor testDemoActor = await CreateActor(stateManager.Object, state.FakeGuid);

            bool result = await testDemoActor.IsInitialized();

            result.Should().BeTrue();

            stateManager.VerifyAll();
        }