Skip to content

Commit

Permalink
Funciona la espectativa de Quiz
Browse files Browse the repository at this point in the history
  • Loading branch information
quinoescobar committed Dec 11, 2014
1 parent 17bffbe commit 6168330
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 27 deletions.
12 changes: 12 additions & 0 deletions lib/examen/interfaz.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,18 @@ def to_s
respuesta
end

def to_ss
aux = @examen.inicio
respuesta = ""
respuesta += aux.to_s
respuesta += "\n"
while (aux != @examen.fin) do
aux = aux.next
respuesta += aux.to_s
respuesta += "\n"
end
respuesta
end



Expand Down
3 changes: 2 additions & 1 deletion lib/examen/pregunta.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ class Pregunta #< Struct.new("Pregunta", :enunciado , :respuesta, :falsas)
#----------------------------------------------------------
#----------------------------------------------------------

attr_reader :valor, :enunciado, :respuesta,:falsas
attr_accessor :valor, :enunciado, :respuesta,:falsas
include Comparable

def initialize(arg)
@valor=arg[:valor]
@enunciado=arg[:enunciado]
Expand Down
2 changes: 1 addition & 1 deletion lib/examen/quiz.rb
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,4 @@ def erroneas (option)
}
puts quiz.to_s
# puts quiz.to_s
17 changes: 11 additions & 6 deletions lib/examen/quiz2.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
require 'examen/pregunta'
require 'examen/lista'
require 'examen/exam'
module Examen
class Quiz2

Expand All @@ -23,30 +25,33 @@ def initialize (titulo,&block)


def to_s
@examen.to_s
@examen.to_ss
end



def pregunta(pre, respuestas)

pregu = Pregunta.new(:valor => "0",:enunciado => pre, :falsas => [0] , :respuesta => '')
def pregunta1(pre, respuestas={})

pregu = Pregunta.new(:enunciado => pre, :falsas => [0] , :respuesta => '')

respuestas.each do |key, val|
if key=='falsas'
pregu.falsas(val)
else
pregu.respuesta(val)
pregu.respuesta=val

end


end

@lista.pushf(pregu)
end






end
end
Expand Down
40 changes: 21 additions & 19 deletions spec/examen_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -565,43 +565,45 @@ class Pregunta

before :all do
@examen=Lista.new(0)
@p1=EleccionSimple.new(:valor => "5",:enunciado =>"¿Cuantos argumentos de tipo bloque puede recibir un metodo?",:respuesta =>"1",:falsas => ["2", "muchos","los que defina el usuario"])
@p2=Verdaderofalso.new(:valor => "5",:enunciado =>"En Ruby los bloque son objetos que continen codigo",:respuesta =>"Cierto",:falsas => "Falso")
#@p1=EleccionSimple.new(:valor => "0",:enunciado =>"¿Cuantos argumentos de tipo bloque puede recibir un metodo?",:respuesta =>"1",:falsas => ["2", "muchos","los que defina el usuario"])
@p2=Verdaderofalso.new(:valor => "0",:enunciado =>"En Ruby los bloque son objetos que continen codigo",:respuesta =>"Cierto",:falsas => "[0]")

@nodo1=Nodo.new(@p1)
@nodo2=Nodo.new(@p2)

@examen.pushf(@nodo2)
@examen.push(@nodo1)
@exam=Exam.new(:preguntas=>@examen)
#@examen.push(@nodo1)
@exam=Interfaz.new(:examen=>@examen)

@quiz = Quiz2.new ("Examen"){


pregunta '¿Cuantos argumentos de tipo bloque puede recibir un metodo?' ,
:falsas => "muchos",
:falsas => "2",
:falsas => "los que defina el usuario",
:respuesta => "1"
pregunta "En Ruby los bloque son objetos que continen codigo",
:falsas => 'Cierto',
:respuesta => 'Falso'
# pregunta1 '¿Cuantos argumentos de tipo bloque puede recibir un metodo?' ,
# :respuesta => "1",
# #:falsas => []
# :falsas =>'2',
# :falsas =>'muchos',
# :falsas =>'los que defina el usuario'

pregunta1 "En Ruby los bloque son objetos que continen codigo",
:respuesta => 'Falso',
:falsas => 'Cierto'




}



end

end


it " DSL " do
expect(@exam.to_S).to eq(@quiz.to_s)

it " DSL " do
expect(@exam.to_s).to eq(@quiz.to_s)
#expect(@quiz.to_s).to eq(@quiz.to_s)
end



end

Expand Down

0 comments on commit 6168330

Please sign in to comment.