public void EnsureValidKeyLength_FailureCases(int minLength, int maxLength, int increment, int testValue)
        {
            // Arrange
            var keyLengthsStruct = new BCRYPT_KEY_LENGTHS_STRUCT
            {
                dwMinLength = (uint)minLength,
                dwMaxLength = (uint)maxLength,
                dwIncrement = (uint)increment
            };

            // Act & assert
            ExceptionAssert.ThrowsArgumentOutOfRange(
                () => keyLengthsStruct.EnsureValidKeyLength((uint)testValue),
                paramName: "keyLengthInBits",
                exceptionMessage: Resources.FormatBCRYPT_KEY_LENGTHS_STRUCT_InvalidKeyLength(testValue, minLength, maxLength, increment));
        }
        public void EnsureValidKeyLength_SuccessCases(int minLength, int maxLength, int increment, int testValue)
        {
            // Arrange
            var keyLengthsStruct = new BCRYPT_KEY_LENGTHS_STRUCT
            {
                dwMinLength = (uint)minLength,
                dwMaxLength = (uint)maxLength,
                dwIncrement = (uint)increment
            };

            // Act
            keyLengthsStruct.EnsureValidKeyLength((uint)testValue);

            // Assert
            // Nothing to do - if we got this far without throwing, success!
        }