Question

Utilisation nUnit pour tester la sortie (mise en forme de monnaie) pour une culture spécifique, mais nous obtenons le résultat suivant.

  Fail: Formatting currency amount
  String lengths are both 11. Strings differ at index 2.
  Expected: "12 765,87 €"
  But was:  "12 765,87 €"
  -------------^

Nous ne pouvons pas voir la différence entre les chaînes. Notre résultat attendu utilise un caractère « espace ».

Y at-il un espace différent que nous pouvons mettre dans le résultat accepté pour obtenir le test de passer?

Par ailleurs, la culture est testée fr-FR.

Edit: Merci Adam vous êtes sur place avec le caractère unicode. Nous avons changé nos résultats attendus et maintenant chaque passes test unitaire.

Était-ce utile?

La solution

Il est possible qu'ils sont différents types d'espaces. Unicode a beaucoup de différents . Jetez un oeil sur les points de code à l'index 2 en jetant les caractères entiers pour obtenir votre réponse.

Modifier

En réponse à votre commentaire, point de code 160 est un espace insécable . Vous pouvez y entrer directement dans votre code source (par exemple Alt + 0160 sur le pavé numérique sous Windows) ou d'utiliser une séquence d'échappement:

// U+20AC is the Unicode code point for the euro sign
string expected = "12\u00A0765,87 \u20AC";

Autres conseils

Très probablement, il est un personnage qui est vide, mais pas un espace pour éviter les étiquettes et comme pour briser le nombre en deux quand le mot-emballage est activé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top