Crafting happiness with Free Software & Hardware

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