public async Task ShouldAwaitDataSourceTaskTwiceSinceKeyExpiredAndReturnTheSecondResult()
        {
            //Arrange
            var time = DateTime.Parse("01/01/2000 12:00 am");

            cache = new AsyncCache(() => time, TimeSpan.FromMinutes(1));
            int callCount = 0;

            //Act
            await cache.Get(key : "some key", dataSource : () => { callCount++; return(Task.FromResult(2)); });

            time = DateTime.Parse("01/01/2000 12:01 am");
            var result = await cache.Get(key : "some key", dataSource : () => { callCount++; return(Task.FromResult(3)); });

            //Assert
            callCount.Should().Be(2);
            result.Should().Be(3);
        }
        public async Task ShouldReturnResultFromDataSourceTask()
        {
            //Arrange
            //Act
            int result = await cache.Get(key : "some key", dataSource : () => Task.FromResult(2));

            //Assert
            result.Should().Be(2);
        }