Kata de TDD avec Guile et Emacs (String Rotations – 6)
Objectif de cette session :
Continuer d'utiliser un peu plus d'outils que Guile (Scheme) et Emacs mettent à disposition (Paredit, Geiser, AC-Geiser, SRFIs) pour améliorer mes compétences en développement logiciel.
Bon screencast !
Je place le code à la suite pour ceux que ça intéresse :
(define-module (harness-guile)
#:use-module (srfi srfi-64))
;;;;;;;;;;;;;;;;;;;;;;;;;;; OPERATIONAL CODE ;;;;;;;;;;;;;;;;;;;;;;;;;
(define EMPTY_STRING "")
(define DUMMY_ONE_CHAR_STRING "a")
(define-public (rotations input-string)
(itself input-string))
(define (itself input)
`(,input))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; TEST CODE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(module-define! (resolve-module '(srfi srfi-64))
'test-log-to-file #t)
(test-begin "test-suite")
(define (make-test-case triple)
(let ([test-name (car triple)]
[input-string-rotations (car (cdr triple))]
[input-string (car (cddr triple))])
(test-equal test-name
input-string-rotations
(rotations input-string))))
(map make-test-case `(["empty-string" ,`(,EMPTY_STRING) ,EMPTY_STRING]
["one-char-string" ,`(,DUMMY_ONE_CHAR_STRING) ,DUMMY_ONE_CHAR_STRING]))
(test-end "test-suite")
Merci beaucoup d'avoir regardé ce screencast !
N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via :
– E-mail: jeremy AT korwin-zmijowski DOT fr
– Mastodon: @jeko@framapiaf.org
– Peertube: @jeko@video.tedomum.net
– Twitter: @JeremyKorwin
Abonnes-toi pour ne pas manquer les prochains articles et épisodes:
– blog via Mastodon @jeko@write.as et RSS
– screencast via Peertube @jeko@video.tedomum.net et RSS
Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'
#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast