Try Synsema
Entrar Crear cuenta

La ficha del paciente

+30 xp

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)
test "ficha completa y correcta"
    assert_eq(errores_de_ficha({"nombre": "Rosa Díaz", "edad": 67}), [])
    assert_eq(ficha_valida({"nombre": "Rosa Díaz", "edad": 67}), true)

test "detecta cada problema"
    assert_eq(errores_de_ficha({"edad": 30}), ["falta el nombre"])
    assert_eq(errores_de_ficha({"nombre": "   ", "edad": 30}), ["falta el nombre"])
    assert_eq(errores_de_ficha({"nombre": "Luis Paz"}), ["falta la edad"])
    assert_eq(errores_de_ficha({"nombre": "Luis Paz", "edad": 200}), ["edad fuera de rango"])
    assert_eq(errores_de_ficha({"nombre": "Luis Paz", "edad": -1}), ["edad fuera de rango"])

test "acumula varios problemas en orden"
    assert_eq(errores_de_ficha({}), ["falta el nombre", "falta la edad"])

test "registrar valida o lanza"
    assert_eq(registrar({"nombre": "Rosa Díaz", "edad": 67}), "registrada: Rosa Díaz")
    assert_error(() => registrar({"edad": 30}))
    assert_error(() => registrar({}))