estefania_exam 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +15 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +4 -0
  6. data/Gemfile +4 -0
  7. data/Guardfile +39 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +12 -0
  10. data/Rakefile +14 -0
  11. data/exam.gemspec +28 -0
  12. data/lib/doc/Exam.html +114 -0
  13. data/lib/doc/Exam/Examen.html +350 -0
  14. data/lib/doc/Interfaz.html +285 -0
  15. data/lib/doc/List.html +453 -0
  16. data/lib/doc/Node.html +170 -0
  17. data/lib/doc/Object.html +121 -0
  18. data/lib/doc/Question.html +309 -0
  19. data/lib/doc/SimpleSelection.html +275 -0
  20. data/lib/doc/VerdaderoFalso.html +228 -0
  21. data/lib/doc/created.rid +9 -0
  22. data/lib/doc/fonts.css +167 -0
  23. data/lib/doc/fonts/Lato-Light.ttf +0 -0
  24. data/lib/doc/fonts/Lato-LightItalic.ttf +0 -0
  25. data/lib/doc/fonts/Lato-Regular.ttf +0 -0
  26. data/lib/doc/fonts/Lato-RegularItalic.ttf +0 -0
  27. data/lib/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  28. data/lib/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  29. data/lib/doc/images/add.png +0 -0
  30. data/lib/doc/images/arrow_up.png +0 -0
  31. data/lib/doc/images/brick.png +0 -0
  32. data/lib/doc/images/brick_link.png +0 -0
  33. data/lib/doc/images/bug.png +0 -0
  34. data/lib/doc/images/bullet_black.png +0 -0
  35. data/lib/doc/images/bullet_toggle_minus.png +0 -0
  36. data/lib/doc/images/bullet_toggle_plus.png +0 -0
  37. data/lib/doc/images/date.png +0 -0
  38. data/lib/doc/images/delete.png +0 -0
  39. data/lib/doc/images/find.png +0 -0
  40. data/lib/doc/images/loadingAnimation.gif +0 -0
  41. data/lib/doc/images/macFFBgHack.png +0 -0
  42. data/lib/doc/images/package.png +0 -0
  43. data/lib/doc/images/page_green.png +0 -0
  44. data/lib/doc/images/page_white_text.png +0 -0
  45. data/lib/doc/images/page_white_width.png +0 -0
  46. data/lib/doc/images/plugin.png +0 -0
  47. data/lib/doc/images/ruby.png +0 -0
  48. data/lib/doc/images/tag_blue.png +0 -0
  49. data/lib/doc/images/tag_green.png +0 -0
  50. data/lib/doc/images/transparent.png +0 -0
  51. data/lib/doc/images/wrench.png +0 -0
  52. data/lib/doc/images/wrench_orange.png +0 -0
  53. data/lib/doc/images/zoom.png +0 -0
  54. data/lib/doc/index.html +99 -0
  55. data/lib/doc/js/darkfish.js +140 -0
  56. data/lib/doc/js/jquery.js +4 -0
  57. data/lib/doc/js/navigation.js +142 -0
  58. data/lib/doc/js/search.js +109 -0
  59. data/lib/doc/js/search_index.js +1 -0
  60. data/lib/doc/js/searcher.js +228 -0
  61. data/lib/doc/rdoc.css +580 -0
  62. data/lib/doc/table_of_contents.html +186 -0
  63. data/lib/exam.rb +46 -0
  64. data/lib/exam/interfaz.rb +49 -0
  65. data/lib/exam/list.rb +111 -0
  66. data/lib/exam/node.rb +5 -0
  67. data/lib/exam/question.rb +34 -0
  68. data/lib/exam/simpleSelection.rb +29 -0
  69. data/lib/exam/verdaderoFalso.rb +21 -0
  70. data/lib/exam/version.rb +3 -0
  71. data/lib/quiz.rb +61 -0
  72. data/lib/quiz/answer.rb +25 -0
  73. data/lib/quiz/question.rb +29 -0
  74. data/spec/exam_spec.rb +297 -0
  75. data/spec/quiz_spec.rb +55 -0
  76. data/spec/spec_helper.rb +19 -0
  77. metadata +221 -0
@@ -0,0 +1,21 @@
1
+ # Clase que hereda de Question y que permite crear preguntas del tipo Verdadero o Falso.
2
+ class VerdaderoFalso < Question
3
+ # Constante que tiene las dos únicas opciones que puede tener este tipo de pregunta (Cierto y Falso)
4
+ OPCIONES = {
5
+ "a" => "Cierto",
6
+ "b" => "Falso"
7
+ }
8
+ # Inicialización de los atributos mediante una llamada al constructor de la clase madre.
9
+ def initialize (ask,respuestaCorrecta,difficulty=0)
10
+ super(ask,respuestaCorrecta,difficulty)
11
+ end
12
+ # Método que devuelve una cadena con el enunciado y las dos posibles opciones de respuesta para la pregunta.
13
+ def to_s
14
+ cadena = @ask + "\n"
15
+ OPCIONES.each do |m,i|
16
+ cadena += "#{m})#{i}\n"
17
+ end
18
+ cadena
19
+ end
20
+
21
+ end
@@ -0,0 +1,3 @@
1
+ module Exam
2
+ VERSION = "0.0.2"
3
+ end
data/lib/quiz.rb ADDED
@@ -0,0 +1,61 @@
1
+ require_relative "../lib/quiz/question.rb"
2
+
3
+ class Quiz
4
+ WRONG = :wrong
5
+ RIGHT = :right
6
+ attr_accessor :name, :questions
7
+
8
+ def initialize(name="",&block)
9
+ self.name = name
10
+ self.questions =[]
11
+
12
+ @counter = 0
13
+ instance_eval &block
14
+
15
+ end
16
+
17
+ def question(text,answers)
18
+ q = Question.new(text,answers)
19
+ @questions << q
20
+ @counter = 0
21
+ end
22
+
23
+
24
+ def wrong
25
+ @counter += 1
26
+ [@counter, WRONG]
27
+ end
28
+
29
+ def right
30
+ @counter +=1
31
+ [@counter, RIGHT]
32
+
33
+ end
34
+
35
+ def to_s
36
+
37
+ cadena = ""
38
+ @questions.each do |m,i|
39
+ cadena += "#{m}"
40
+ end
41
+ cadena
42
+
43
+ end
44
+
45
+ def checkAnswers(answersUser)
46
+ count = 0
47
+ i = 0
48
+ @questions.each do |q|
49
+
50
+ if q.check(answersUser[i])
51
+ count +=1
52
+ end
53
+ i +=1
54
+
55
+ end
56
+ "Resultado: #{count}/#{@questions.size}"
57
+
58
+ end
59
+
60
+
61
+ end
@@ -0,0 +1,25 @@
1
+ class Answer
2
+ attr_accessor :kind, :order, :answer
3
+
4
+ # order: the position of the answer in the question
5
+ # kind: either :right or :wrong
6
+ # answer: the text of the answer (for instance "1492")
7
+ def initialize(order, kind, answer)
8
+ @kind, @order, @answer = kind, order, answer
9
+ end
10
+
11
+ def to_s
12
+ "#{@order}. #{answer}"
13
+ end
14
+
15
+ # decides if this is a right answer
16
+ def is_right?
17
+ @kind == Quiz::RIGHT
18
+ end
19
+
20
+ # Answer objects must be sorted according to their position
21
+ # inside the question
22
+ def <=>(other)
23
+ self.order <=> other.order
24
+ end
25
+ end
@@ -0,0 +1,29 @@
1
+ require_relative "./answer.rb"
2
+ class Question
3
+
4
+ ORDER = 0
5
+ KIND = 1
6
+ attr_accessor :text, :answers
7
+
8
+ def initialize(text, answers)
9
+ @text = text
10
+
11
+ #Primero posición de la respuesta en el examen, luego si es correcta o incorrecta y por último la respuesta.
12
+ @answers = answers.map { |k, v| Answer.new(k[ORDER], k[KIND], v) }.sort
13
+ end
14
+
15
+ def check(answerUser)
16
+
17
+ @answers[answerUser -1].is_right?
18
+
19
+ end
20
+
21
+ def to_s
22
+ cadena = @text + "\n"
23
+ @answers.each do |answer|
24
+ cadena << " #{answer}\n"
25
+ end
26
+ cadena
27
+ end
28
+
29
+ end
data/spec/exam_spec.rb ADDED
@@ -0,0 +1,297 @@
1
+ #encoding: UTF-8
2
+ require_relative "spec_helper"
3
+ require_relative "../lib/exam.rb"
4
+ require_relative "../lib/exam/interfaz.rb"
5
+
6
+ describe Exam do
7
+
8
+ before :each do
9
+ @options1 = {
10
+ "a" => "azul",
11
+ "b" => "verde",
12
+ "c" => "negro",
13
+ "d" => "naranja"
14
+ }
15
+ @options2 = {
16
+ "a" => "Un ave",
17
+ "b" => "Un reptil",
18
+ "c" => "Un mamifero",
19
+ "d" => "Ninguna de las anteriores"
20
+ }
21
+
22
+ @sS1 = SimpleSelection.new("¿De qué color es el coche del presidente?",@options1,"c",5)
23
+ @sS2 = SimpleSelection.new("¿Que es un perro?",@options2,"c")
24
+
25
+ #Listas enlazadas
26
+ @nodo1 = Node.new(2,nil,nil)
27
+ @nodo2 = Node.new(5,nil,nil)
28
+ @arrayNodos = [@nodo1,@nodo2]
29
+ @nodoCabeza = Node.new(3,nil,nil)
30
+ @lista1 = List.new(@nodoCabeza)
31
+ #Preguntas para las pruebas de la práctica 6
32
+
33
+ #Pregunta 1
34
+ enunciado1 = "¿Cuál es la salida del siguiente código Ruby? class Xyz\ndef pots\n@nice\nend\nend\nxyz = Xyz.new\np xyz.pots"
35
+ opciones1 ={
36
+ "a" => "#<Xyz:0xa000208>",
37
+ "b" => "nil",
38
+ "c" => "0",
39
+ "d" => "Ninguna de las anteriores"
40
+ }
41
+
42
+ @pregunta1 = SimpleSelection.new(enunciado1,opciones1,"b",6)
43
+
44
+ @nodoP1 = Node.new(@pregunta1,@nodoP2,nil)
45
+ #Pregunta 2
46
+ enunciado2 = "La siguiente definición de un hash en Ruby es válida:\n hash_raro = {\n[1, 2, 3] => Object.new(),\nHash.new => :toto\n}"
47
+ @pregunta2 = VerdaderoFalso.new(enunciado2,"a",4)
48
+ @nodoP2 = Node.new(@pregunta2,@nodoP3,@nodoP1)
49
+ #Pregunta 3
50
+ enunciado3 = "¿Cuál es la salida del siguiente código Ruby?\n class Array\ndef say_hi\n\"HEY!\"\nend\nend\np [1, \"bob\"].say_hi\n"
51
+ opciones3 = {
52
+ "a" => "1",
53
+ "b" => "bob",
54
+ "c" => "HEY!",
55
+ "d" => "Ninguna de las anteriores"
56
+ }
57
+ @pregunta3 = SimpleSelection.new(enunciado3,opciones3,"c",7)
58
+ @nodoP3 = Node.new(@pregunta3,@nodoP4,@nodoP2)
59
+ #Pregunta 4
60
+ enunciado4 = "¿Cúal es el tipo del objeto en el siguiente código Ruby?\nclass Objeto\nend\n"
61
+ opciones4 ={
62
+ "a" => "Una instancia de la clase Class",
63
+ "b" => "Una constante",
64
+ "c" => "Un objeto",
65
+ "d" => "Ninguna de las anteriores"
66
+
67
+ }
68
+ @pregunta4 = SimpleSelection.new(enunciado4,opciones4,"c",8)
69
+ @nodoP4 = Node.new(@pregunta4,@nodoP5,@nodoP3)
70
+ #Pregunta 5
71
+ @vf1 = VerdaderoFalso.new("Es apropiado que una clase Tablero herede de una clase Juego","a",5)
72
+ @nodoP5 = Node.new(@vf1,nil,@nodoP4)
73
+ @arrayNodosPreguntas = [@nodoP1,@nodoP2,@nodoP3,@nodoP4,@nodoP5]
74
+
75
+ #Crear una nueva lista con las preguntas de la práctica anterior para las pruebas de la práctica 8
76
+ @lista2 = List.new(@nodoP1)
77
+ @arrayPreguntas = [@nodoP2,@nodoP3,@nodoP4,@nodoP5]
78
+ @lista2.insertElements(@arrayPreguntas)
79
+
80
+ #Crear variables necesarias para la práctica 9
81
+ @examen = Exam::Examen.new(@lista2)
82
+
83
+ @interfaz = Interfaz.new(@examen)
84
+
85
+ end
86
+ #Pruebas para las preguntas de selección simple
87
+ describe "#Comprobación jerarquía" do
88
+ it "#SimpleSelection es Question" do
89
+ expect(@sS1.is_a?Question).to eq(true)
90
+ end
91
+ it "#VerdaderoFalso es Question" do
92
+ expect(@vf1.is_a?Question).to eq(true)
93
+ end
94
+ end
95
+ describe "# Almacenamiento de la pregunta." do
96
+
97
+ it "Se almacena correctamente la pregunta." do
98
+ expect(@sS1.ask).to eq("¿De qué color es el coche del presidente?")
99
+ end
100
+
101
+ it "Se almacenan correctamente las respuestas." do
102
+ expect(@sS1.answers_to_s).to eq("a)azul\nb)verde\nc)negro\nd)naranja\n")
103
+ end
104
+ end
105
+ describe "# Obtencion respuestas" do
106
+ it "Hash de opciones" do
107
+ expect(@sS1.answers).to eq({"a"=>"azul", "b"=>"verde", "c"=>"negro", "d"=>"naranja"})
108
+ end
109
+ end
110
+ describe "#Mostrar preguntas y respuestas" do
111
+ it "Mostrar una pregunta y su respuesta" do
112
+ expect(@sS1.to_s).to eq("¿De qué color es el coche del presidente?\na)azul\nb)verde\nc)negro\nd)naranja\n")
113
+ end
114
+
115
+ end
116
+ #Prueba de las preguntas de la práctica 6
117
+ describe "#Comprobación preguntas y respuestas" do
118
+ it "#Comprobación pregunta 1" do
119
+
120
+ expect(@pregunta1.to_s).to eq("¿Cuál es la salida del siguiente código Ruby? class Xyz\ndef pots\n@nice\nend\nend\nxyz = Xyz.new\np xyz.pots\na)#<Xyz:0xa000208>\nb)nil\nc)0\nd)Ninguna de las anteriores\n")
121
+ end
122
+ it "#Comprobación pregunta 2" do
123
+
124
+ expect(@pregunta2.to_s).to eq ("La siguiente definición de un hash en Ruby es válida:\n hash_raro = {\n[1, 2, 3] => Object.new(),\nHash.new => :toto\n}\na)Cierto\nb)Falso\n")
125
+ end
126
+ it "#Comprobación pregunta 3" do
127
+
128
+ expect(@pregunta3.to_s).to eq ("¿Cuál es la salida del siguiente código Ruby?\n class Array\ndef say_hi\n\"HEY!\"\nend\nend\np [1, \"bob\"].say_hi\n\na)1\nb)bob\nc)HEY!\nd)Ninguna de las anteriores\n")
129
+ end
130
+ it "#Comprobación pregunta 4" do
131
+
132
+ expect(@pregunta4.to_s).to eq("¿Cúal es el tipo del objeto en el siguiente código Ruby?\nclass Objeto\nend\n\na)Una instancia de la clase Class\nb)Una constante\nc)Un objeto\nd)Ninguna de las anteriores\n")
133
+ end
134
+ it "#Comprobación pregunta 5" do
135
+
136
+ expect(@vf1.to_s).to eq("Es apropiado que una clase Tablero herede de una clase Juego\na)Cierto\nb)Falso\n")
137
+ end
138
+
139
+ end
140
+ #Prueba para comparar preguntas práctica 8
141
+ describe "#Comparar preguntas" do
142
+ it "#Pregunta1 < Pregunta2" do
143
+ test = @pregunta1 < @pregunta3
144
+ test.should eq (true)
145
+ test2 = @pregunta2 < @vf1
146
+ test2.should eq(true)
147
+ end
148
+ it "#Pregunta1 > Pregunta2" do
149
+ test = @pregunta3 > @pregunta4
150
+ test.should eq (false)
151
+ test2 = @vf1 > @pregunta2
152
+ test2.should eq(true)
153
+
154
+ end
155
+ it "#Pregunta1 == Pregunta2" do
156
+ test = @sS1 == @vf1
157
+ test.should eq (false)
158
+ test2 = @pregunta3 == @pregunta1
159
+ test2.should eq(false)
160
+
161
+ end
162
+ end
163
+ #Pruebas para las listas enlazadas
164
+ describe "#Extracción de elementos" do
165
+ it "#Extraer el primer elemento" do
166
+ @lista1.pullHead.should eq (3)
167
+ end
168
+ end
169
+ describe "#Inserción de elementos" do
170
+ it "#Insertar un elemento" do
171
+
172
+ cola = @lista1.insert(@nodo1)
173
+ cola.value.should eq (2)
174
+ cola.next.should eq (nil)
175
+ nodoAnterior = cola.anterior
176
+ expect(nodoAnterior.value).to eq (3)
177
+ expect(nodoAnterior.next).to eq (@nodo1)
178
+ expect(nodoAnterior.anterior).to eq(nil)
179
+ end
180
+ it "#Insertar varios elementos" do
181
+ cola = @lista1.insertElements(@arrayNodos)
182
+ cola.value.should eq(5)
183
+ cola.next.should eq(nil)
184
+ nodoAnterior = cola.anterior
185
+ expect(nodoAnterior.value).to eq (2)
186
+ expect(nodoAnterior.next).to eq (@nodo2)
187
+ end
188
+ it "#Introducir preguntas en la lista" do
189
+
190
+ cola = @lista1.insertElements(@arrayNodosPreguntas)
191
+ preguntaPrueba = cola.value
192
+ expect(preguntaPrueba.to_s).to eq("Es apropiado que una clase Tablero herede de una clase Juego\na)Cierto\nb)Falso\n")
193
+ cola.next.should eq(nil)
194
+ expect((cola.anterior.value).is_a?Question).to eq(true)
195
+ nodoAnterior = cola.anterior
196
+ preguntaAnterior = nodoAnterior.value
197
+ expect(preguntaAnterior.to_s).to eq("¿Cúal es el tipo del objeto en el siguiente código Ruby?\nclass Objeto\nend\n\na)Una instancia de la clase Class\nb)Una constante\nc)Un objeto\nd)Ninguna de las anteriores\n")
198
+
199
+ end
200
+ end
201
+
202
+ describe "#Eliminar nodos" do
203
+ it "#Eliminar un nodo de en medio de la lista" do
204
+ expect(@lista2.delete(@nodoP3)).to eq(@pregunta4)
205
+ expect(@lista2.count).to eq(4)
206
+ end
207
+ it "#Eliminar la cola" do
208
+ expect(@lista2.delete(@nodoP5)).to eq(@vf1)
209
+ expect(@lista2.count).to eq(4)
210
+ end
211
+ end
212
+
213
+ describe "#Recoger información nodos" do
214
+ it "#Recoger cabeza de la cola" do
215
+ nodoCabeza = @lista1.cabeza
216
+ nodoCabeza.value.should eq (3)
217
+ nodoCabeza.next.should eq (nil)
218
+ end
219
+ end
220
+ #Pruebas para la práctica 8
221
+ describe "#Comprobación de lista enumerable" do
222
+
223
+ it "#Prueba con count" do
224
+
225
+ expect(@lista2.count).to eq (5)
226
+ end
227
+ it "#Prueba con all?" do
228
+
229
+ expect(@lista2.all?).to eq (true)
230
+ end
231
+
232
+ end
233
+ describe "#Comprobación lista enumerable nodos comparables" do
234
+
235
+ it "#Prueba con max y min" do
236
+ expect(@lista2.max).to eq (@pregunta4)
237
+ expect(@lista2.min).to eq (@pregunta2)
238
+ end
239
+ it "#Prueba con first" do
240
+ expect(@lista2.first).to eq (@pregunta1)
241
+ end
242
+ it "#Prueba con sort" do
243
+ arrayPreguntas = [@pregunta4,@pregunta3,@pregunta1,@vf1,@pregunta2]
244
+ expect(@lista2.sort{|p1,p2| p2<=>p1}).to eq (arrayPreguntas)
245
+ end
246
+ it "#Prueba con detect" do #Detect devuelve el primero que cumple la condición
247
+ expect(@lista2.detect{|preg| preg.difficulty % 2 == 0}).to eq(@pregunta1)
248
+ end
249
+ it "#Prueba con collect" do
250
+ array = [12,8,14,16,10]
251
+ expect(@lista2.collect{|preg| preg.difficulty*2}).to eq (array)
252
+ end
253
+
254
+
255
+ end
256
+ #Pruebas para Examen práctica 9
257
+ describe "#Acceso al examen" do
258
+
259
+ it "#Añadir una pregunta al examen" do
260
+ expect(@examen.insertQuestion(@sS1)).to eq(@sS1)
261
+ end
262
+ it "#Mostrar preguntas examen" do
263
+ cadena = @pregunta1.to_s + @pregunta2.to_s + @pregunta3.to_s + @pregunta4.to_s + @vf1.to_s
264
+ expect(@examen.to_s).to eq(cadena)
265
+
266
+ end
267
+
268
+
269
+ end
270
+ #Pruebas para Interfaz práctica 9
271
+ describe "#Interfaz" do
272
+ it "#Se muestran las preguntas ordenadas" do
273
+
274
+ cadena = @pregunta2.to_s + @vf1.to_s + @pregunta1.to_s + @pregunta3.to_s + @pregunta4.to_s
275
+ expect(@interfaz.to_s).to eq(cadena)
276
+ end
277
+ it "#Se evalua si todas las respuestas correctas" do
278
+ arrayRespuestas = ["b","a","c","c","a"]
279
+ expect(@interfaz.compararRespuestas(arrayRespuestas)).to eq("Su nota es: Sobresaliente 10")
280
+
281
+ end
282
+ it "#Se evalua si el examen está suspenso" do
283
+ arrayRespuestas = ["a","c","b","c","a"]
284
+ expect(@interfaz.compararRespuestas(arrayRespuestas)).to eq("Ha suspendido el examen: 2/5")
285
+ end
286
+ end
287
+ # Pruebas para el desarrollo funcional de la práctica 10
288
+ describe "#Invertir preguntas del examen" do
289
+ it "#Método funcional" do
290
+ cadena = @vf1.to_s + @pregunta4.to_s + @pregunta3.to_s + @pregunta2.to_s + @pregunta1.to_s
291
+ cadenaObtenida = @examen.invertirPreguntas
292
+ expect(cadenaObtenida).to eq(cadena)
293
+ end
294
+
295
+ end
296
+
297
+ end
data/spec/quiz_spec.rb ADDED
@@ -0,0 +1,55 @@
1
+ #encoding: UTF-8
2
+ require_relative "../lib/quiz.rb"
3
+
4
+ describe Quiz do
5
+
6
+ before :each do
7
+ @quiz1 = Quiz.new("Cuestionario de LPP 05/12/2014") {
8
+ question '¿Cuántos argumentos de tipo bloque puede recibir un método?',
9
+ right =>'1',
10
+ wrong =>'2',
11
+ wrong =>'muchos',
12
+ wrong =>'los que defina el usuario'
13
+ question 'En Ruby los bloque son objetos que continen código',
14
+ wrong =>'Cierto',
15
+ right =>'Falso'
16
+ }
17
+
18
+ end
19
+
20
+ describe "#Creación de un examen" do
21
+ it "#Crear un nuevo cuestionario" do
22
+ newQuiz = Quiz.new("Cuestionario 1"){
23
+ question '¿Cuánto son 2+2?',
24
+ wrong => '10',
25
+ wrong => '3',
26
+ wrong => '5',
27
+ right => '4'
28
+
29
+
30
+ }
31
+ expect(newQuiz.questions.count).to eq(1)
32
+ end
33
+
34
+ end
35
+
36
+ describe "#Mostrar examen" do
37
+ it "#Mostrar preguntas y respuestas" do
38
+ cadena = "¿Cuántos argumentos de tipo bloque puede recibir un método?\n 1. 1\n 2. 2\n 3. muchos\n 4. los que defina el usuario\n"
39
+ cadena += "En Ruby los bloque son objetos que continen código\n 1. Cierto\n 2. Falso\n"
40
+ expect(@quiz1.to_s).to eq(cadena)
41
+ end
42
+ end
43
+
44
+ describe "#Responder preguntas" do
45
+ it "#Todas correctas" do
46
+ answersUser = [1,2]
47
+ expect(@quiz1.checkAnswers(answersUser)).to eq("Resultado: 2/2")
48
+ end
49
+ it "#Suspenso" do
50
+ answersUser = [2,1]
51
+ expect(@quiz1.checkAnswers(answersUser)).to eq("Resultado: 0/2")
52
+ end
53
+ end
54
+
55
+ end