Try Synsema
Entrar Crear cuenta

Entrega: cierre mensual

+60 xp ◆ 3

Estás en modo lectura. Crea una cuenta o entra para enviar tu solución y ganar estrellas. Puedes ejecutar código igual.

Tu programa
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), "")