public static void Main(string[] args)
        {
            var repository = new SqlRepository();

            var passwordCheckerService = new PasswordCheckerService(repository);

            var longPasswordValidator = new LongPasswordValidator();

            passwordCheckerService.ValidatePassword("qweasd", longPasswordValidator);
        }
        public void ValidatePassword_InvalidPasswordPassed_RepositoryCreateIsNotCalled()
        {
            var password          = "******";
            var repositoryMock    = new Mock <IRepository>();
            var passwordValidator = new Mock <IPasswordValidator>();

            repositoryMock.Setup(repository => repository.Create(It.IsAny <string>()));
            passwordValidator.Setup(validator => validator.Validate(It.IsAny <string>()))
            .Returns(Tuple.Create(false, ""));

            var service = new PasswordCheckerService(repositoryMock.Object);

            service.ValidatePassword(password, passwordValidator.Object);

            repositoryMock.Verify(repository => repository.Create(It.IsAny <string>()), Times.Never());
        }