public async Task TryRemove_callsHistoricalProviderTryRemove()
        {
            await Storage.TryRemove(TestKey, upToIndex : 1);

            HistoricalStorageProviderMock.Verify(x => x.TryRemove(
                                                     It.IsAny <KeyRecord>(),
                                                     It.IsAny <long>(),
                                                     It.IsAny <CancellationToken>()),
                                                 Times.Once);
        }
        public async Task Add_callsHistoricalProviderAddOrUpdate()
        {
            HistoricalStorageProviderMock.Setup(x => x.AddOrUpdate(
                                                    It.IsAny <KeyRecord>(),
                                                    It.IsAny <Func <KeyRecord, Task <ValueRecord> > >(),
                                                    It.IsAny <Func <KeyRecord, ValueRecord, Task <ValueRecord> > >(),
                                                    It.IsAny <CancellationToken>()))
            .ReturnsAsync(TestValue);

            await Storage.Add(TestKey, TestValue);

            HistoricalStorageProviderMock.Verify(x => x.AddOrUpdate(
                                                     It.IsAny <KeyRecord>(),
                                                     It.IsAny <Func <KeyRecord, Task <ValueRecord> > >(),
                                                     It.IsAny <Func <KeyRecord, ValueRecord, Task <ValueRecord> > >(),
                                                     It.IsAny <CancellationToken>()),
                                                 Times.Once);
        }
        public void GetKeys_callsHistoricalProviderGetKeys()
        {
            var _ = Storage.GetKeys().ToArray();

            HistoricalStorageProviderMock.Verify(x => x.GetKeys(), Times.Once);
        }