public void CreateCredentials_creates_credentials_with_correct_parameters(IPassword password, IPBKDF2Parameters parameters) { // Arrange Mock.Get(parameters) .Setup(x => x.GetIterationCount()) .Returns(100); Mock.Get(parameters) .Setup(x => x.GetKeyLength()) .Returns(16); Mock.Get(parameters) .Setup(x => x.GetSaltLength()) .Returns(16); Mock.Get(password) .Setup(x => x.GetPasswordAsByteArray()) .Returns(PASSWORD_ONE_SALT_ONE_ITER_100_KEY); var sut = GetSut(parameters); // Act var result = sut.CreateCredentials(password); // Assert Assert.NotNull(result, "Nullability"); Assert.IsInstanceOf <IPBKDF2Credentials>(result, "Correct type"); var credentials = (IPBKDF2Credentials)result; Assert.AreEqual(100, credentials.GetIterationCount(), "Iteration count"); Assert.AreEqual(16, credentials.GetKeyLength(), "Key length"); Assert.AreEqual(16, credentials.GetSaltLength(), "Salt length"); }
/// <summary> /// Initializes a new instance of the <see cref="PBKDF2PasswordVerifier"/> class. /// </summary> /// <remarks> /// <para> /// This overload of the constructor initialises the instance from the parameters object. /// </para> /// </remarks> /// <param name="parameters">The parameters object.</param> public PBKDF2PasswordVerifier(IPBKDF2Parameters parameters) { if (parameters != null) { ConfigureInitialisationParameters(parameters.GetIterationCount(), parameters.GetKeyLength(), parameters.GetSaltLength()); } else { ConfigureInitialisationParameters(); } }
PBKDF2PasswordVerifier GetSut(IPBKDF2Parameters parameters = null) { if (parameters != null) { Mock.Get(parameters) .Setup(x => x.GetSaltLength()) .Returns(16); Mock.Get(parameters) .Setup(x => x.GetKeyLength()) .Returns(16); } return(new PBKDF2PasswordVerifier(parameters)); }