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")); } 
  • Ejecutar pruebas de JUnit en la aplicación de Gradle para Android
  • Unidad que prueba la lógica de la aplicación de Android
  • !!! JUnit versión 3.8 o posterior esperado
  • Cómo probar interfaz de escucha se llama dentro de pruebas de unidad de Android
  • ¿Cómo determinar si la aplicación Android se inicia con la instrumentación de prueba de JUnit?
  • Android Espresso testing 'No se puede resolver el símbolo' InstrumentationRegistry ''
  • ¿Cómo hacer simples pruebas junit de vainilla en android? Cómo obtener un error al hacer
  • org.junit cant 'ser resuelto en IntelliJ
  • Cómo probar proveedores de contenido en Android
  • Rendering problemas y no puede resolver R en Android Studio 2.0, ¿por qué se produce y cómo resolver estos?
  • Envío de mayúsculas a un TextEdit durante pruebas instrumentadas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.