public void GivenDelegateThatReturnsStaticValue_WhenKeyRequested_ThenReturnStaticValue()
        {
            // Arrange
            Func <string> staticKey = () => "key";
            var           sut       = new LambdaBasedCacheKeyGenerator(staticKey);

            // Act
            var result = sut.GetKey();

            // Assert
            Assert.Equal("key", result);
        }
        public void GivenDelegateThatReturnsValueBasedOnMultipleArguments_WhenKeyRequested_ThenReturnCorrectCombination(
            int paramDigit, string paramValue, string expectedValue)
        {
            // Arrange
            Func <int, string, string> calculatedKey = (digit, value) => $"{value}_{digit * 2}";
            var sut = new LambdaBasedCacheKeyGenerator(calculatedKey);

            // Act
            var result = sut.GetKey(paramDigit, paramValue);

            // Assert
            Assert.Equal(expectedValue, result);
        }