Refactoring suggestion
(use-modules (srfi srfi-64)
(kata-driver))
(test-runner-factory (lambda () (test-runner-kata)))
(define INVALID #f)
(define LETTERS_AND_DIGITS (char-set-union char-set:letter char-set:digit))
(define (is-empty? password)
(string-null? password))
(define (is-composed-of-letters-or-digits? password)
(char-set<= (string->char-set password) LETTERS_AND_DIGITS))
(define (password-valid? password)
(if (is-empty? password)
INVALID
(is-composed-of-letters-or-digits? password)))
(test-begin "test-suite")
(define EMPTY_PASSWORD "")
(define DUMMY_LETTER_PASSWORD "a")
(define DUMMY_LETTERS_AND_DIGITS_PASSWORD "ab12")
(test-assert "empty password"
(not (password-valid? EMPTY_PASSWORD)))
(test-assert "one letter password"
(password-valid? DUMMY_LETTER_PASSWORD))
(test-assert "letters and digits password"
(password-valid? DUMMY_LETTERS_AND_DIGITS_PASSWORD))
(test-end "test-suite")