Entrega: cierre mensual
Estás en modo lectura. Crea una cuenta o entra para enviar tu solución y ganar estrellas. Puedes ejecutar código igual.
Así te va a probar Tomás (pruebas de la misión)
let CSV_JULIO be `fecha,tipo,categoria,monto
2026-07-01,ingreso,honorarios,250000.00
2026-07-02,gasto,alquiler,90000.00
2026-07-05,gasto,insumos,12500.50
2026-07-10,ingreso,honorarios,180000.00
2026-07-12,gasto,sueldos,150000.00
2026-07-20,gasto,insumos,7499.50
2026-07-28,ingreso,capacitaciones,60000.00`
let CSV_SIN_GASTOS be `fecha,tipo,categoria,monto
2026-07-01,ingreso,honorarios,100.00`
test "total por categoría, al centavo"
assert_eq(total_categoria(CSV_JULIO, "insumos"), decimal("20000.00"))
assert_eq(total_categoria(CSV_JULIO, "honorarios"), decimal("430000.00"))
assert_eq(total_categoria(CSV_JULIO, "impuestos"), 0)
test "saldo del mes"
assert_eq(saldo_mes(CSV_JULIO), decimal("230000.00"))
assert_eq(saldo_mes(CSV_SIN_GASTOS), decimal("100.00"))
test "categoría con mayor gasto"
assert_eq(categoria_mayor_gasto(CSV_JULIO), "sueldos")
assert_eq(categoria_mayor_gasto(CSV_SIN_GASTOS), "")