El código de conversión parece demasiado simple para fallar, hasta el momento en que una regla de redondeo o una convención de signo invierte una cuota. La solución es una pequeña tabla de pares conocidos que todo despliegue debe reproducir exactamente. Móntala una vez, desde ejemplos documentados, y atrapa cada regresión futura en segundos.
La tabla dorada
Empieza con los pares que el conversor de cuotas publica como sus propios ejemplos, verificado el 2026-10-07. Decimal 2,50 es americano +150 y fraccionario 3/2. Americano -200 es decimal 1,50. Decimal 2,00 implica 50%. Un tablero equilibrado con cuota 1,91 en ambos lados implica cerca de 52,36% en cada uno.
Añade las filas de frontera que tu código realmente encontrará: cuotas justo por encima y por debajo del decimal 2,00, donde la fórmula americana cambia de signo, y un valor americano como +100, el menor convencional. Cada fila declara la entrada, las salidas esperadas y la precisión que aceptas.
Las reglas que tu tabla refuerza
El conjunto de fórmulas es corto: la probabilidad implícita es 1 dividido entre la cuota decimal; el fraccionario es el decimal menos uno expresado como razón; el americano es el decimal menos uno, por 100, en o por encima de 2,00, y -100 dividido entre el decimal-menos-uno por debajo. El conversor lo documenta directamente, verificado el 2026-10-07.
Dos comportamientos merecen filas explícitas. La regla de rechazo: los valores americanos convencionales son +100 o más, o -100 o menos, y cero o cualquier cosa entre -100 y +100 se rechaza. Tu código debe rechazar esas entradas igual. Y la regla de pantalla: el decimal muestra cuatro cifras, el americano dos, las probabilidades dos. Una prueba que compara cadenas de pantalla en lugar de valores subyacentes fallará de forma intermitente por redondeo.
Pruebas de ida y vuelta
La segunda mitad de la tabla es comportamental: convertir adelante y atrás debe caer dentro de tu precisión declarada. La propia nota de precisión del conversor advierte que redondear una cuota mostrada y convertirla de vuelta puede cambiar los últimos dígitos. Así que prueba la ida y vuelta sobre el valor sin redondear, y afirma una tolerancia, nunca una cadena exacta.
Ejecuta donde el código cambia
La tabla pertenece a la suite de unidad, junto a la función de conversión, y debe correr en cada commit. Cuando nada cambia, la tabla calla; cuando alguien toca el formateador para una nueva pantalla, la tabla es la protección. Pruebas así son seguro barato, y nunca duermen durante un despliegue.
Pares conocidos, filas de frontera, idas y vueltas con tolerancia. Los errores de conversión paran en la tabla.