示例#1
0
        public async Task GetAsyncTest()
        {
            var stateManager = new MockActorStateManager();
            var keyMock      = new Mock <IStateKey>();

            keyMock.Setup(x => x.ToString()).Returns("TestName");

            var state = new ActorArrayState <TestState>(stateManager, keyMock.Object, 1);

            var cts = new CancellationTokenSource(1000);

            await Assert.ThrowsAsync <IndexOutOfRangeException>(() => state.GetAsync(-1, cts.Token));

            await Assert.ThrowsAsync <IndexOutOfRangeException>(() => state.GetAsync(1, cts.Token));

            Assert.Null(await state.GetAsync(0, cts.Token));

            await stateManager.SetStateAsync("TestName:0", new TestState(), cts.Token);

            Assert.NotNull(await state.GetAsync(0, cts.Token));
        }