public void RewindDataIndex_Save()
        {
            Mock <IDateTimeProvider> dateTimeProviderMock = new Mock <IDateTimeProvider>();
            Mock <ICoinView>         coinViewMock         = new Mock <ICoinView>();

            this.SetupMockCoinView(coinViewMock);

            RewindDataIndexCache rewindDataIndexCache = new RewindDataIndexCache(dateTimeProviderMock.Object, this.Network);

            rewindDataIndexCache.Initialize(20, coinViewMock.Object);

            rewindDataIndexCache.Save(new Dictionary <OutPoint, int>()
            {
                { new OutPoint(new uint256(21), 0), 21 }
            });
            var items = rewindDataIndexCache.GetMemberValue("items") as ConcurrentDictionary <OutPoint, int>;

            items.Should().HaveCount(23);
            this.CheckCache(items, 21, 10);
        }
        public async Task RewindDataIndex_Save()
        {
            Mock <IDateTimeProvider> dateTimeProviderMock = new Mock <IDateTimeProvider>();
            Mock <ICoinView>         coinViewMock         = new Mock <ICoinView>();

            this.SetupMockCoinView(coinViewMock);

            RewindDataIndexCache rewindDataIndexCache = new RewindDataIndexCache(dateTimeProviderMock.Object, this.Network);

            await rewindDataIndexCache.InitializeAsync(20, coinViewMock.Object);

            rewindDataIndexCache.Save(new Dictionary <string, int>()
            {
                { $"{ new uint256(21) }-{ 0 }", 21 }
            });
            var items = rewindDataIndexCache.GetMemberValue("items") as ConcurrentDictionary <string, int>;

            items.Should().HaveCount(23);
            this.CheckCache(items, 21, 10);
        }