Try Synsema
Entrar Crear cuenta

La ficha de producto

+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 "descripción con precio"
    assert_eq(descripcion({"nombre": "Taladro", "precio": 45000, "stock": 3, "minimo": 2}), "Taladro — $45000")
    assert_eq(descripcion({"nombre": "Lija 120", "precio": 300, "stock": 40, "minimo": 20}), "Lija 120 — $300")

test "valor en góndola"
    assert_eq(valor_gondola({"nombre": "Taladro", "precio": 45000, "stock": 3, "minimo": 2}), 135000)
    assert_eq(valor_gondola({"nombre": "Guantes", "precio": 2500, "stock": 0, "minimo": 5}), 0)

test "necesita reposición"
    assert_eq(necesita_reposicion({"nombre": "Taladro", "precio": 45000, "stock": 3, "minimo": 2}), false)
    assert_eq(necesita_reposicion({"nombre": "Lija 120", "precio": 300, "stock": 4, "minimo": 20}), true)

test "descuento opcional sin explotar"
    assert_eq(tiene_descuento({"nombre": "X", "precio": 100, "stock": 1, "minimo": 1, "descuento": 0.1}), true)
    assert_eq(tiene_descuento({"nombre": "X", "precio": 100, "stock": 1, "minimo": 1, "descuento": 0}), false)
    assert_eq(tiene_descuento({"nombre": "X", "precio": 100, "stock": 1, "minimo": 1}), false)