public void RewindDataIndex_InitialiseCache() { 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); var items = rewindDataIndexCache.GetMemberValue("items") as ConcurrentDictionary <OutPoint, int>; items.Should().HaveCount(22); this.CheckCache(items, 20, 10); }
public async Task RewindDataIndex_InitialiseCache_BelowMaxREprg() { 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(5, coinViewMock.Object); var items = rewindDataIndexCache.GetMemberValue("items") as ConcurrentDictionary <string, int>; items.Should().HaveCount(10); this.CheckCache(items, 5, 1); }
public void RewindDataIndex_InitialiseCache() { Mock <IDateTimeProvider> dateTimeProviderMock = new Mock <IDateTimeProvider>(); Mock <ICoinView> coinViewMock = new Mock <ICoinView>(); this.SetupMockCoinView(coinViewMock); Mock <IFinalizedBlockInfoRepository> finalizedBlockInfoRepositoryMock = new Mock <IFinalizedBlockInfoRepository>(); finalizedBlockInfoRepositoryMock.Setup(s => s.GetFinalizedBlockInfo()).Returns(new HashHeightPair()); RewindDataIndexCache rewindDataIndexCache = new RewindDataIndexCache(dateTimeProviderMock.Object, this.Network, finalizedBlockInfoRepositoryMock.Object, new Checkpoints()); rewindDataIndexCache.Initialize(20, coinViewMock.Object); var items = rewindDataIndexCache.GetMemberValue("items") as ConcurrentDictionary <OutPoint, int>; items.Should().HaveCount(22); this.CheckCache(items, 20, 10); }
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 <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); }
public void RewindDataIndex_Save() { var dateTimeProviderMock = new Mock <IDateTimeProvider>(); var coinViewMock = new Mock <ICoinView>(); this.SetupMockCoinView(coinViewMock); var finalizedBlockInfoRepositoryMock = new Mock <IFinalizedBlockInfoRepository>(); finalizedBlockInfoRepositoryMock.Setup(s => s.GetFinalizedBlockInfo()).Returns(new HashHeightPair()); var rewindDataIndexCache = new RewindDataIndexCache(dateTimeProviderMock.Object, this.Network, finalizedBlockInfoRepositoryMock.Object, new Checkpoints()); rewindDataIndexCache.Initialize(20, coinViewMock.Object); rewindDataIndexCache.SaveAndEvict(21, new Dictionary <OutPoint, int>() { { new OutPoint(new uint256(21), 0), 21 } }); var items = rewindDataIndexCache.GetMemberValue("items") as ConcurrentDictionary <OutPoint, int>; items.Should().HaveCount(21); this.CheckCache(items, 21, 1); }