Nous avons récemment eu quelques discussions sur les Adapters sur le salon IRC de atoum (pour rappel, celui-ci se trouve sur les serveurs Freenode, canal ##atoum). Plusieurs questions ont été traitées : nous avons parlé de l'utilité de ces Adapters, des possibilités qu'ils offrent dans le cadre de tests unitaires mais également des inconvénients et des bonnes pratiques à mettre en place pour bien les utiliser. Je vais donc tenter ici d'eclaircir ces quelques points à travers des exemples relativement simples. J'utiliserais atoum pour les tests qui seront écrits pour une classe gérant une connexion à un serveur FTP.
Avant de commencer, nous allons faire un petit rappel sur le design pattern Adapter. Voici un extrait de la définition donnée par Wikipedia :
"The adapter translates calls to its interface into calls to the original interface, and the amount of code necessary to do this is typically small."