コード例 #1
0
        public async Task Should_retrieve_from_inner_if_not_cached()
        {
            var contentIds = HashSet.Of(contentId);

            var state = new TextContentState {
                UniqueContentId = contentId
            };

            var states = new Dictionary <DomainId, TextContentState>
            {
                [contentId] = state
            };

            A.CallTo(() => inner.GetAsync(A <HashSet <DomainId> > .That.Is(contentIds), ct))
            .Returns(states);

            var found1 = await sut.GetAsync(HashSet.Of(contentId), ct);

            var found2 = await sut.GetAsync(HashSet.Of(contentId), ct);

            Assert.Same(state, found1[contentId]);
            Assert.Same(state, found2[contentId]);

            A.CallTo(() => inner.GetAsync(A <HashSet <DomainId> > .That.Is(contentIds), ct))
            .MustHaveHappenedOnceExactly();
        }
コード例 #2
0
        public async Task Should_retrieve_from_inner_when_not_cached()
        {
            var state = new TextContentState {
                ContentId = contentId
            };

            A.CallTo(() => inner.GetAsync(appId, contentId))
            .Returns(state);

            var found1 = await sut.GetAsync(appId, contentId);

            var found2 = await sut.GetAsync(appId, contentId);

            Assert.Same(state, found1);
            Assert.Same(state, found2);

            A.CallTo(() => inner.GetAsync(appId, contentId))
            .MustHaveHappenedOnceExactly();
        }