Encore un sujet de DS très TDD

Comme l’année dernière avec le sujet pagination 7 mes collègues et moi même avons rédigé un sujet de DS sur table (i.e sans ordinateur) pour valider la bonne compréhension du TDD de nos étudiants de seconde année de BUT. L’exercice de cette année était le suivant :

Le sujet

Nous allons chercher à tester une classe “compte en banque”, sur laquelle il est possible de faire les opérations suivantes :

  • static CompteEnBanque creer(String name)
  • void depot(Double montant)
  • void retrait(Double montant)
  • Double solde()
  • List<Transaction> historique()

Rédigez et ordonnez les tests que vous feriez dans une approche TDD. Pour chaque test, donnez l’intention de code qu’il fait émerger.

#Tdd #Software Craftsmanship

Un sujet de DS très TDD

Proposer un sujet pour valider la bonne compréhension du TDD à des étudiants qui vont composer sur papier n’est pas évident. Dans le dernier sujet de DS que nous avons élaboré (mes collègues et moi même) il y avait cet exercice sur 5 points.

Le sujet

Pour faire apparaître les possibilités de navigation dans un long texte, on peut utiliser les notions de première page, page précédente, page courante, page suivante, et dernière page. Une proposition d’affichage de ces options de manière concise est la « pagination seven » qui utilise au plus 7 positions. Pour des petits documents (7 pages ou moins), on affiche tous les numéros de pages :

#Tdd #Software Craftsmanship

Tests unitaires en perl

Je ne parlerais pas du modèle classique d’organisation du code en Perl :

  • toute la logique dans un module
  • un ou des scripts qui ne font qu’utiliser le module
  • les tests qui font eux aussi appel au module

Ce qui implique d’avoir au moins 3 fichiers différents …

Dans mon cas, j’ai un simple script perl que je souhaite écrire en TDD.

mon_script.pl

#!/usr/bin/perl -w
use strict;
use warning;

sub run {
  return "OK";
}

run() unless caller();
1;

mon_script.t

#Tdd #Perl