Bonjour,
J'ai rencontré un problème inattendu dans le test unitaire suivant :
Lorsqu'on lit le code précédent (et lorsqu'on l'écrit), on peut penser que le test passe sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 @Test public void test() { NumberFormat nf = NumberFormat.getInstance(); Assert.assertEquals("5 000", nf.format(5000)); }
En réalité, il ne marche pas.
Après une recherche approfondie, je me suis aperçu que NumberFormat utilise une espace insécable (code #160).
Voici le code du test corrigé
Je pense qu'il serait utile de rajouter dans la réponse à la question Comment convertir un nombre en chaine formatée que le séparateur de milliers dans la langue française est l'espace insécable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 @Test public void test() { char espace = new DecimalFormatSymbols().getGroupingSeparator(); NumberFormat nf = NumberFormat.getInstance(); Assert.assertEquals("5" + espace + "000", nf.format(5000)); }
A+
Gronono
EDIT : On dit une espace.
Partager