public async Task TestMixedAsync()
        {
            var errorCode = StanfordPasswordValidatorBase.ErrorCode.NoMixedCase;
            var password  = "******";

            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password),
                                           errorCode);
            password = new string('a', 16);
            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password), errorCode);

            password = "******";
            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password), errorCode);

            password = new string('a', 20);
            IdentityResultAssert.IsSuccess(await validator.ValidateAsync(manager, user, password));
        }
        public async Task TestNumbersAsync()
        {
            var errorCode = StanfordPasswordValidatorBase.ErrorCode.NoNumber;
            var password  = "******";

            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password),
                                           errorCode);
            password = new string('a', 12);
            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password), errorCode);

            password = "******";
            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password), errorCode);

            password = new string('a', 16);
            IdentityResultAssert.IsFailureNot(await validator.ValidateAsync(manager, user, password), errorCode);
        }
        public async Task TestSymbolAsync()
        {
            var errorCode = StanfordPasswordValidatorBase.ErrorCode.NoSymbol;
            var password  = "******";

            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password),
                                           errorCode);
            password = new string('a', 8);
            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password), errorCode);

            password = "******";
            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password), errorCode);


            password = new string('a', 12);
            IdentityResultAssert.IsFailureNot(await validator.ValidateAsync(manager, user, password), errorCode);
        }
        public async Task TestLengthAsync()
        {
            var errorCode = StanfordPasswordValidatorBase.ErrorCode.ShortLength;
            var password  = string.Empty;

            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password),
                                           errorCode);
            password = "******";
            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password),
                                           errorCode);
            password = "******";
            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password),
                                           errorCode);
            password = "******";
            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password),
                                           errorCode);
            password = "******";
            IdentityResultAssert.IsFailure(await validator.ValidateAsync(manager, user, password),
                                           errorCode);
            password = new string('a', 8);
            IdentityResultAssert.IsFailureNot(await validator.ValidateAsync(manager, user, password),
                                              errorCode);
        }