Skip to content

Instantly share code, notes, and snippets.

@labra
Created October 7, 2014 07:07
Show Gist options
  • Save labra/0ebf77e1214a86646de9 to your computer and use it in GitHub Desktop.
Save labra/0ebf77e1214a86646de9 to your computer and use it in GitHub Desktop.
Ejercicio Ruby: Hashes
class Evaluador
def evalua(examen,evaluacion)
end
def busca(pregunta, respuestas)
indice = respuestas.index { |item| item["pregunta"] == pregunta}
respuestas[indice]["respuesta"]
end
end
describe "Evaluador" do
let (:evaluador) { Evaluador.new }
let (:examen) {
[ {"pregunta" => 1, "correcta" => "a"},
{"pregunta" => 2, "correcta" => "b"}]
}
let (:evaluacion) {
[ {"alumno" => 2456,
"respuestas" => [{ "pregunta" => 1, "respuesta" => "a"},
{ "pregunta" => 2, "respuesta" => "b"}]},
{"alumno" => 4321,
"respuestas" => [{ "pregunta" => 1, "respuesta" => "b"},
{ "pregunta" => 2, "respuesta" => "b"}]},
{"alumno" => 6789,
"respuestas" => [{ "pregunta" => 1, "respuesta" => "b"},
{ "pregunta" => 2, "respuesta" => "a"}]}
]}
let (:resultado) {
[ {"alumno" => 2456, "nota" => 2},
{"alumno" => 4321, "nota" => 0.75},
{"alumno" => 6789, "nota" => -0.5}
]
}
it "Debe calcular las notas del examen" do
expect(evaluador.evalua(examen,evaluacion)).to eq(resultado)
end
end
describe "Buscador de preguntas" do
let (:evaluador) { Evaluador.new }
let (:respuestas) {
[{ "pregunta" => 1, "respuesta" => "b"},
{ "pregunta" => 2, "respuesta" => "a"}]
}
it "Debe buscar la nota de un alumno" do
expect(evaluador.busca(1,respuestas)).to eq("b")
end
it "Debe buscar la nota de un alumno" do
expect(evaluador.busca(2,respuestas)).to eq("a")
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment