Buenas! Estaba chequeando los casos de prueba y encontré este:
La entrada que está seleccionada con azul usa la promoción PM1, que es esta:
y que contiene los siguientes productos:
Para que la promo sea válida debe haber 1 producto de cada uno para poder aplicar el 30%. El usuario realiza la compra CO1, que es esta:
es decir, compra 2 veces el producto PR2, y luego una única vez los productos PR4 y PR8. Entonces, el monto final debería calcularse como (Precio_PR2 + Precio_PR4 + Precio_PR8) x 0,7 + Precio_PR2 , pues el descuento del 30% de aplica solamente a los productos que entran en la promo. Sin embargo, el cálculo que hay que hacer para llegar a 68389.293 es (2xPrecio_PR2 + Precio_PR4 + Precio_PR8) x 0,7, es decir, que se está aplicando la promoción sobre TODOS los productos, a pesar que uno de ellos en teoría no debería entrar.
Tal vez yo comprendí mal cómo funcionan las promociones. ¿Funciona como planteé ahí o entendí mal?
Otra preguntita extra: Nuestros precios mostrados en pantalla con el tipo de dato Float muestran solamente 2 dígitos después de la coma, mientras que en los ejemplos dados se muestran 3 dígitos después de la coma. ¿Esto es importante? Las salidas coinciden exactamente sin ser ese último dígito que no se muestra (exceptuando una salida que no coincide, que es la planteada en este mensaje)