Le kata du diamant prend une lettre en entrée et la représente sous la forme d’un diamant. Pour une lettre donnée, il affiche un diamant commençant par « A », la lettre fournie se trouvant au point le plus large.
Dans les exemples suivants, les espaces sont indiqués par des caractères ·.
Diamant pour la lettre « A » :
A
Diamant pour la lettre « C » :
··A··
·B·B·
C···C
·B·B·
··A··
Diamant pour la lettre « E » :
····A····
···B·B···
··C···C··
·D·····D·
E·······E
·D·····D·
··C···C··
···B·B···
····A····
Les tests de cet exercice sont différents de ceux dont tu as l'habitude. Normalement, un test vérifie que, pour une entrée donnée, la sortie correspond à la valeur attendue. C'est ce qu'on appelle les tests basés sur les valeurs. Or cet exercice utilise les tests basés sur les propriétés, où les tests vérifient que, pour un ensemble d'entrées, la sortie possède une propriété particulière. Les deux différences essentielles entre ces deux approches sont les suivantes :
Pour cet exercice, tous les tests vérifient une propriété de la forme de losange que ton code doit produire. De plus, tous les tests vérifient que la propriété testée est vraie pour toutes les lettres d'entrée valides ('A' à 'Z').
Pour faciliter les tests basés sur les propriétés, les tests de cet exercice s'appuient sur les paquets FsCheck et FsCheck.Xunit. Pour en savoir plus sur FsCheck, la documentation du framework est disponible ici.
Si tu veux plus d'informations sur les tests basés sur les propriétés, consulte cet article.
Inscris-toi sur Exercism pour apprendre et maîtriser C# avec 62 concepts178 exercices, et un vrai mentorat humain, le tout gratuitement.