Lors de la tentative d'encodage/décodage, c'est le seul endroit où je ne respecte pas la règle de tester une seule méthode à la fois. Vous pouvez avoir des méthodes pour l'encodage ou le décodage séparément, mais la seule façon de savoir si vous le faites correctement est d'utiliser à la fois l'encodage et le décodage dans un seul assert. Je recommande d'utiliser le pseudo-code suivant.
Générer une chaîne aléatoire en utilisant Path.GetRandomFilename(), cette chaîne est cryptographiquement forte
Passer la chaîne à la méthode d'encodage
Passer la sortie de l'encodage à la méthode de décodage
Assert.AreEqual(entrée de GetRandomFilename, sortie de Decode)
Vous pouvez boucler autant de fois que vous le souhaitez pour dire que c'est testé. Vous pouvez également couvrir certains cas spécifiques; cependant, comme l'encodage diffère parfois en fonction de la position des lettres, il vaut mieux opter pour une chaîne aléatoire et simplement appeler l'encodage/décodage environ 50 fois.
Si vous constatez que l'encodage/décodage échoue dans des scénarios acceptés, créez des tests unitaires pour ceux-ci et filtrez les chaînes qui contiennent ces caractères/combinaisons de caractères. De plus, documentez ces échecs dans les commentaires XMLDocs, les commentaires de code et toute documentation de votre application.