JUnit – ComparisonFailure en la cadena formateada

Mis pruebas de unidad fallan con el siguiente error. ¿Hay alguna manera de comparar más indulgente para obtener la prueba para pasar por estos problemas?

No quiero especificar el DecimalFormatter de manera más explícita, pero hacer la prueba más indulgente.

junit.framework.ComparisonFailure: expected:<[-]0.31 mm> but was:<[−]0.31 mm> 

El código de prueba

 public void testCode() { Locale.setDefault(Locale.US); assertEquals("-0.31 mm", codeUnderTest(-0.000314d); } 

Donde el código que genera la cadena es

 private static final int OFFSET_FRACTION_DIGITS_SI = 2; private static final double UNIT_MULTIPLIER_SI = 1000d; // 1 m in mm private static final String UNIT_MM = "mm"; public String codeUnderTest(double value) { DecimalFormat df = new DecimalFormat(); df.setMaximumFractionDigits(OFFSET_FRACTION_DIGITS_SI); df.setMinimumFractionDigits(OFFSET_FRACTION_DIGITS_SI); value *= UNIT_MULTIPLIER_SI; StringBuilder builder = new StringBuilder(); builder.append(df.format(value)); builder.append(" "); builder.append(UNIT_MM); return builder.toString(); } 

Actualizar:

Más pruebas revelaron que el punto unicode devuelto por DecimalFormat es Unicode Character 'MINUS SIGN' (U + 2212) mientras que el signo especificado como se espera es Unicode Character 'HYPHEN-MINUS' (U + 002D). Así que estoy buscando una manera de mapear tales señales a un único punto unicode. Lo mismo ocurre con el separador de miles que será el carácter Unicode 'NO-BREAK SPACE' (U + 00A0) en oposición al carácter Unicode normal 'SPACE' (U + 0020).

One Solution collect form web for “JUnit – ComparisonFailure en la cadena formateada”

Tal vez intente assertTrue ():

 public void testCode() { assertTrue(codeUnderTest(-0.000314d).equals("-0.31 mm")); } 
  • Android Studio JUnit pruebas Java puro
  • Prueba JUnit con Robolectric: java.lang.InstantiationException
  • Android Eclipse Plugin: Prueba de Instrumentación Runner no especificado
  • VerifyError con Mockito 1.9.5 y DexMaker-Mockito-1.0
  • La compatibilidad con la prueba de unidades Android no funciona en los módulos de la biblioteca de Android
  • ¿Cómo volver a ejecutar la prueba fallada en Espresso? - lluvia de ideas
  • JNI: no se puede encontrar la biblioteca en java.library.path al ejecutar JUnit
  • Cómo probar el archivo java generado automáticamente usando JUnit para mi AIDL
  • Prueba de Android JUnit4
  • Service.startForeground () lanza NullPointerException cuando se ejecuta con ServiceTestCase
  • Cómo comprobar que la actividad muestra el diálogo durante la prueba de unidad de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.