public void GetValidationHandler_SimpleSettings_ReturnsValidationHandlerWithNoSuccessor() { var settings = new PasswordValidationSettings(); var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf <MinimumLengthValidationHandler>(result.Handler); Assert.IsNull(result.Successor); }
/// <summary> /// Constructs an instance of the `Validator` class using the settings passed /// into the constructor. /// </summary> /// <param name="settings">The settings that define the rules by which /// to validate a password.</param> public Validator(IPasswordValidationSettings settings) { if (settings == null) { throw new ArgumentNullException("settings"); } _validationChain = ValidationServiceLocator.GetValidationHandlerChain(settings); }
public void GetValidationHandler_CustomValidationHandler_ReturnsChainWithCustomHandler() { var settings = new PasswordValidationSettings(); settings.CustomValidators.Add(typeof(AlwaysFailsValidationHandler)); var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf <MinimumLengthValidationHandler>(result.Handler); Assert.IsInstanceOf <AlwaysFailsValidationHandler>(result.Successor.Handler); }
public void getValidationHandler_NeedsSymbolIsTrue_ReturnsChainWithNeedsSymbolValidator() { var settings = new PasswordValidationSettings(); settings.NeedsSymbol = true; var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf <MinimumLengthValidationHandler>(result.Handler); Assert.IsInstanceOf <NeedsSymbolValidationHandler>(result.Successor.Handler); }
public void GetValidationHandler_NeedsLetter_ReturnsTwoChainedHandlers() { var settings = new PasswordValidationSettings(); settings.NeedsLetter = true; var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf <MinimumLengthValidationHandler>(result.Handler); Assert.IsInstanceOf <NeedsLetterValidationHandler>(result.Successor.Handler); Assert.IsNull(result.Successor.Successor); }