biblio_alu0100845235 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +9 -0
  4. data/.travis.yml +6 -0
  5. data/= +0 -0
  6. data/CODE_OF_CONDUCT.md +13 -0
  7. data/Gemfile +6 -0
  8. data/Guardfile +82 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +7 -0
  11. data/Rakefile +7 -0
  12. data/biblio.gemspec +34 -0
  13. data/biblio.rb +12 -0
  14. data/biblio_spec.1.rb +478 -0
  15. data/biblio_spec.rb +535 -0
  16. data/bin/console +14 -0
  17. data/bin/setup +7 -0
  18. data/doc/=.html +97 -0
  19. data/doc/Biblio.html +109 -0
  20. data/doc/CODE_OF_CONDUCT_md.html +127 -0
  21. data/doc/Cita.html +278 -0
  22. data/doc/Edocumento.html +275 -0
  23. data/doc/Gemfile.html +104 -0
  24. data/doc/Gemfile_lock.html +204 -0
  25. data/doc/Guardfile.html +182 -0
  26. data/doc/LICENSE_txt.html +119 -0
  27. data/doc/Libro.html +391 -0
  28. data/doc/List.html +591 -0
  29. data/doc/Object.html +116 -0
  30. data/doc/Periodico.html +218 -0
  31. data/doc/Publicacion.html +321 -0
  32. data/doc/README_md.html +115 -0
  33. data/doc/Rakefile.html +103 -0
  34. data/doc/Referencia.html +467 -0
  35. data/doc/Revista.html +275 -0
  36. data/doc/biblio_gemspec.html +132 -0
  37. data/doc/bin/setup.html +103 -0
  38. data/doc/created.rid +30 -0
  39. data/doc/css/fonts.css +167 -0
  40. data/doc/css/rdoc.css +590 -0
  41. data/doc/fonts/Lato-Light.ttf +0 -0
  42. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  43. data/doc/fonts/Lato-Regular.ttf +0 -0
  44. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  45. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  46. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  47. data/doc/images/add.png +0 -0
  48. data/doc/images/arrow_up.png +0 -0
  49. data/doc/images/brick.png +0 -0
  50. data/doc/images/brick_link.png +0 -0
  51. data/doc/images/bug.png +0 -0
  52. data/doc/images/bullet_black.png +0 -0
  53. data/doc/images/bullet_toggle_minus.png +0 -0
  54. data/doc/images/bullet_toggle_plus.png +0 -0
  55. data/doc/images/date.png +0 -0
  56. data/doc/images/delete.png +0 -0
  57. data/doc/images/find.png +0 -0
  58. data/doc/images/loadingAnimation.gif +0 -0
  59. data/doc/images/macFFBgHack.png +0 -0
  60. data/doc/images/package.png +0 -0
  61. data/doc/images/page_green.png +0 -0
  62. data/doc/images/page_white_text.png +0 -0
  63. data/doc/images/page_white_width.png +0 -0
  64. data/doc/images/plugin.png +0 -0
  65. data/doc/images/ruby.png +0 -0
  66. data/doc/images/tag_blue.png +0 -0
  67. data/doc/images/tag_green.png +0 -0
  68. data/doc/images/transparent.png +0 -0
  69. data/doc/images/wrench.png +0 -0
  70. data/doc/images/wrench_orange.png +0 -0
  71. data/doc/images/zoom.png +0 -0
  72. data/doc/index.html +125 -0
  73. data/doc/js/darkfish.js +161 -0
  74. data/doc/js/jquery.js +4 -0
  75. data/doc/js/navigation.js +142 -0
  76. data/doc/js/navigation.js.gz +0 -0
  77. data/doc/js/search.js +109 -0
  78. data/doc/js/search_index.js +1 -0
  79. data/doc/js/search_index.js.gz +0 -0
  80. data/doc/js/searcher.js +228 -0
  81. data/doc/js/searcher.js.gz +0 -0
  82. data/doc/table_of_contents.html +294 -0
  83. data/lib/biblio/cita.rb +30 -0
  84. data/lib/biblio/edocumento.rb +34 -0
  85. data/lib/biblio/libro.rb +62 -0
  86. data/lib/biblio/list.rb +133 -0
  87. data/lib/biblio/node.rb +2 -0
  88. data/lib/biblio/periodico.rb +28 -0
  89. data/lib/biblio/publicacion.rb +23 -0
  90. data/lib/biblio/referencia.rb +84 -0
  91. data/lib/biblio/revista.rb +34 -0
  92. data/lib/biblio/version.rb +3 -0
  93. data/lib/biblio.rb +17 -0
  94. data/spec_helper.1.rb +2 -0
  95. data/spec_helper.rb +4 -0
  96. metadata +228 -0
data/biblio_spec.1.rb ADDED
@@ -0,0 +1,478 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe Biblio do
5
+ before :each do
6
+ @b1 = Libro.new(["Dave Thomas", "Andy Hunt", "Chad Fowler"], "Programming Ruby 1.9 & 2.0: The Pragmatic Programmers Guide", "The Facets of Ruby", "Pragmatic Bookshelf", 4, "07/07/2013", ["978-1937785499", "1937785491"])
7
+ @b2 = Libro.new(["Scott Chacon"], "Pro Git 2009th Edition", "Pro", "Apress" , 2009, "27/08/2009", ["978-1430218333", "1430218339"])
8
+ @b3 = Libro.new(["David Flanagan", "Yukihiro Matsumoto"], "The Ruby Programming Language", nil, "O'Reilly Media", 1, "04/02/2008", ["0596516177", "978-0596516178"])
9
+ @b4 = Libro.new(["David Chelimsky", "Dave Astels", "Bryan Helmkamp", "Dan North", "Zach Dennis", "Aslak Helleson"], "The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends", "The Facets of Ruby", "Pragmatic Bookshelf", 1, "25/12/2010", ["1934356379", "978-1934356371"])
10
+ @b5 = Libro.new(["Richard E"], "Silverman Git Pocket Guide", nil, "O'Reilly Media", 1, "02/08/2013", ["1449325866", "978-1449325862"])
11
+
12
+ @p1 = Periodico.new(["autor"], "Titulo", "Periodico", "07/07/2013", 1, nil, "123456789")
13
+ @p2 = Periodico.new(["autor1", "autor2"], "Titulo2", "Periodico2", "08/08/2013", 1, 2, "123456789")
14
+ @p3 = Periodico.new(["autor"], "Titulo3", "Periodico3", "08/08/2013", 1, 100, "123456789")
15
+
16
+ @r1 = Revista.new(["autor"], "Titulo", "Revista", "07/07/2013", 10, 1, nil, "123456789")
17
+ @r2 = Revista.new(["autor1", "autor2"], "Titulo2", "Revista2", "08/08/2013", 11, 1, 2, "123456789")
18
+ @r3 = Revista.new(["autor"], "Titulo3", "Revista3", "08/08/2013", 12, 1, 100, "123456789")
19
+
20
+ @e1 = Edocumento.new(["autor"], "Titulo", "Revista", "07/07/2013", 1, nil, "123456789", "http://www.hola.com")
21
+ @e2 = Edocumento.new(["autor1", "autor2"], "Titulo2", "Revista2", "08/08/2013", 1, 2, "123456789", "http://www.hastaluego.com")
22
+ @e3 = Edocumento.new(["autor"], "Titulo3", "Revista3", "08/08/2013", 1, 100, "123456789", "http://www.chao.com")
23
+
24
+ @l1 = List.new
25
+ @l2 = List.new(@b1)
26
+ @l3 = List.new(@p2)
27
+ @l3.push_back(@p1)
28
+ end
29
+
30
+ describe "Comprobacion de la herencia de Libro" do
31
+ it "Test herencia lista" do
32
+ expect(@b1.is_a?Object).to be true
33
+ expect(@b1.is_a?Referencia).to be true
34
+ expect(@b1.instance_of?Libro).to be true
35
+ expect(@b2.is_a?Object).to be true
36
+ expect(@b2.is_a?Referencia).to be true
37
+ expect(@b2.instance_of?Libro).to be true
38
+ expect(@b3.is_a?Object).to be true
39
+ expect(@b3.is_a?Referencia).to be true
40
+ expect(@b3.instance_of?Libro).to be true
41
+ end
42
+ end
43
+
44
+ describe "Comprobacion de la herencia de Periodico" do
45
+ it "Test herencia lista" do
46
+ expect(@p1.is_a?Object).to be true
47
+ expect(@p1.is_a?Referencia).to be true
48
+ expect(@p1.is_a?Publicacion).to be true
49
+ expect(@p1.instance_of?Periodico).to be true
50
+ expect(@p2.is_a?Object).to be true
51
+ expect(@p2.is_a?Referencia).to be true
52
+ expect(@p2.is_a?Publicacion).to be true
53
+ expect(@p2.instance_of?Periodico).to be true
54
+ expect(@p3.is_a?Object).to be true
55
+ expect(@p3.is_a?Referencia).to be true
56
+ expect(@p3.is_a?Publicacion).to be true
57
+ expect(@p3.instance_of?Periodico).to be true
58
+ end
59
+ end
60
+
61
+ describe "Comprobacion de la herencia de Revista" do
62
+ it "Test herencia lista" do
63
+ expect(@r1.is_a?Object).to be true
64
+ expect(@r1.is_a?Referencia).to be true
65
+ expect(@r1.is_a?Publicacion).to be true
66
+ expect(@r1.instance_of?Revista).to be true
67
+ expect(@r2.is_a?Object).to be true
68
+ expect(@r2.is_a?Referencia).to be true
69
+ expect(@r2.is_a?Publicacion).to be true
70
+ expect(@r2.instance_of?Revista).to be true
71
+ expect(@r3.is_a?Object).to be true
72
+ expect(@r3.is_a?Referencia).to be true
73
+ expect(@r3.is_a?Publicacion).to be true
74
+ expect(@r3.instance_of?Revista).to be true
75
+ end
76
+ end
77
+
78
+ describe "Comprobacion de la herencia de Documento Electronico" do
79
+ it "Test herencia lista" do
80
+ expect(@e1.is_a?Object).to be true
81
+ expect(@e1.is_a?Referencia).to be true
82
+ expect(@e1.is_a?Publicacion).to be true
83
+ expect(@e1.instance_of?Edocumento).to be true
84
+ expect(@e2.is_a?Object).to be true
85
+ expect(@e2.is_a?Referencia).to be true
86
+ expect(@e2.is_a?Publicacion).to be true
87
+ expect(@e2.instance_of?Edocumento).to be true
88
+ expect(@e3.is_a?Object).to be true
89
+ expect(@e3.is_a?Referencia).to be true
90
+ expect(@e3.is_a?Publicacion).to be true
91
+ expect(@e3.instance_of?Edocumento).to be true
92
+ end
93
+ end
94
+
95
+ describe "Comprobacion de la herencia de la lista" do
96
+ it "Test herencia lista" do
97
+ expect(@l1.is_a?Object).to be true
98
+ expect(@l1.instance_of?List).to be true
99
+ expect(@l2.is_a?Object).to be true
100
+ expect(@l2.instance_of?List).to be true
101
+ end
102
+ end
103
+
104
+
105
+ describe "Comprobacion de una correcta construccion de Libro" do
106
+ it "Existe al menos un autor" do
107
+ expect(@b1.autores).not_to eq(nil)
108
+ expect(@b2.autores).not_to eq(nil)
109
+ expect(@b3.autores).not_to eq(nil)
110
+ end
111
+ it "Existe titulo" do
112
+ expect(@b1.titulo).not_to eq(nil)
113
+ expect(@b2.titulo).not_to eq(nil)
114
+ expect(@b3.titulo).not_to eq(nil)
115
+ end
116
+ it "Existe o no una serie" do
117
+ expect(@b1.serie).not_to eq(nil)
118
+ expect(@b2.serie).not_to eq(nil)
119
+ expect(@b3.serie).to eq(nil)
120
+ end
121
+ it "Existe editorial" do
122
+ expect(@b1.editorial).not_to eq(nil)
123
+ expect(@b2.editorial).not_to eq(nil)
124
+ expect(@b3.editorial).not_to eq(nil)
125
+ end
126
+ it "Existe edicion" do
127
+ expect(@b1.n_edicion).not_to eq(nil)
128
+ expect(@b2.n_edicion).not_to eq(nil)
129
+ expect(@b3.n_edicion).not_to eq(nil)
130
+ end
131
+ it "Existe fecha" do
132
+ expect(@b1.fecha_publicacion).not_to eq(nil)
133
+ expect(@b2.fecha_publicacion).not_to eq(nil)
134
+ expect(@b3.fecha_publicacion).not_to eq(nil)
135
+ end
136
+ it "Existe isbn" do
137
+ expect(@b1.isbn).not_to eq(nil)
138
+ expect(@b2.isbn).not_to eq(nil)
139
+ expect(@b3.isbn).not_to eq(nil)
140
+ end
141
+ end
142
+
143
+ describe "Comprobacion de una correcta construccion de Periodico" do
144
+ it "Existe al menos un autor" do
145
+ expect(@p1.autores).not_to eq(nil)
146
+ expect(@p2.autores).not_to eq(nil)
147
+ expect(@p3.autores).not_to eq(nil)
148
+ end
149
+ it "Existe titulo" do
150
+ expect(@p1.titulo).not_to eq(nil)
151
+ expect(@p2.titulo).not_to eq(nil)
152
+ expect(@p3.titulo).not_to eq(nil)
153
+ end
154
+ it "Existe editorial" do
155
+ expect(@p1.editorial).not_to eq(nil)
156
+ expect(@p2.editorial).not_to eq(nil)
157
+ expect(@p3.editorial).not_to eq(nil)
158
+ end
159
+ it "Existe fecha" do
160
+ expect(@p1.fecha_publicacion).not_to eq(nil)
161
+ expect(@p2.fecha_publicacion).not_to eq(nil)
162
+ expect(@p3.fecha_publicacion).not_to eq(nil)
163
+ end
164
+ it "Existe pagina de inicio" do
165
+ expect(@p1.pinicio).not_to eq(nil)
166
+ expect(@p2.pinicio).not_to eq(nil)
167
+ expect(@p3.pinicio).not_to eq(nil)
168
+ end
169
+ it "Existe pagina de fin" do
170
+ expect(@p1.pfin).to eq(nil)
171
+ expect(@p2.pfin).not_to eq(nil)
172
+ expect(@p3.pfin).not_to eq(nil)
173
+ end
174
+ it "Existe issn" do
175
+ expect(@p1.issn).not_to eq(nil)
176
+ expect(@p2.issn).not_to eq(nil)
177
+ expect(@p3.issn).not_to eq(nil)
178
+ end
179
+ end
180
+
181
+ describe "Comprobacion de una correcta construccion de Revista" do
182
+ it "Existe al menos un autor" do
183
+ expect(@r1.autores).not_to eq(nil)
184
+ expect(@r2.autores).not_to eq(nil)
185
+ expect(@r3.autores).not_to eq(nil)
186
+ end
187
+ it "Existe titulo" do
188
+ expect(@r1.titulo).not_to eq(nil)
189
+ expect(@r2.titulo).not_to eq(nil)
190
+ expect(@r3.titulo).not_to eq(nil)
191
+ end
192
+ it "Existe editorial" do
193
+ expect(@r1.editorial).not_to eq(nil)
194
+ expect(@r2.editorial).not_to eq(nil)
195
+ expect(@r3.editorial).not_to eq(nil)
196
+ end
197
+ it "Existe fecha" do
198
+ expect(@r1.fecha_publicacion).not_to eq(nil)
199
+ expect(@r2.fecha_publicacion).not_to eq(nil)
200
+ expect(@r3.fecha_publicacion).not_to eq(nil)
201
+ end
202
+ it "Existe pagina de inicio" do
203
+ expect(@r1.pinicio).not_to eq(nil)
204
+ expect(@r2.pinicio).not_to eq(nil)
205
+ expect(@r3.pinicio).not_to eq(nil)
206
+ end
207
+ it "Existe pagina de fin" do
208
+ expect(@r1.pfin).to eq(nil)
209
+ expect(@r2.pfin).not_to eq(nil)
210
+ expect(@r3.pfin).not_to eq(nil)
211
+ end
212
+ it "Existe issn" do
213
+ expect(@r1.issn).not_to eq(nil)
214
+ expect(@r2.issn).not_to eq(nil)
215
+ expect(@r3.issn).not_to eq(nil)
216
+ end
217
+ it "Existe numero de revista" do
218
+ expect(@r1.numero).not_to eq(nil)
219
+ expect(@r2.numero).not_to eq(nil)
220
+ expect(@r3.numero).not_to eq(nil)
221
+ end
222
+ end
223
+
224
+ describe "Comprobacion de una correcta construccion de Documento Electronico" do
225
+ it "Existe al menos un autor" do
226
+ expect(@e1.autores).not_to eq(nil)
227
+ expect(@e2.autores).not_to eq(nil)
228
+ expect(@e3.autores).not_to eq(nil)
229
+ end
230
+ it "Existe titulo" do
231
+ expect(@e1.titulo).not_to eq(nil)
232
+ expect(@e2.titulo).not_to eq(nil)
233
+ expect(@e3.titulo).not_to eq(nil)
234
+ end
235
+ it "Existe editorial" do
236
+ expect(@e1.editorial).not_to eq(nil)
237
+ expect(@e2.editorial).not_to eq(nil)
238
+ expect(@e3.editorial).not_to eq(nil)
239
+ end
240
+ it "Existe fecha" do
241
+ expect(@e1.fecha_publicacion).not_to eq(nil)
242
+ expect(@e2.fecha_publicacion).not_to eq(nil)
243
+ expect(@e3.fecha_publicacion).not_to eq(nil)
244
+ end
245
+ it "Existe pagina de inicio" do
246
+ expect(@e1.pinicio).not_to eq(nil)
247
+ expect(@e2.pinicio).not_to eq(nil)
248
+ expect(@e3.pinicio).not_to eq(nil)
249
+ end
250
+ it "Existe pagina de fin" do
251
+ expect(@e1.pfin).to eq(nil)
252
+ expect(@e2.pfin).not_to eq(nil)
253
+ expect(@e3.pfin).not_to eq(nil)
254
+ end
255
+ it "Existe issn" do
256
+ expect(@e1.issn).not_to eq(nil)
257
+ expect(@e2.issn).not_to eq(nil)
258
+ expect(@e3.issn).not_to eq(nil)
259
+ end
260
+ it "Existe numero de revista" do
261
+ expect(@e1.url).not_to eq(nil)
262
+ expect(@e2.url).not_to eq(nil)
263
+ expect(@e3.url).not_to eq(nil)
264
+ end
265
+ end
266
+
267
+ describe "Comprobacion de un correcto funcionamiento de los metodos de Libro" do
268
+ it "Test metodo autor" do
269
+ expect(@b1.autores).to eq(["Dave Thomas", "Andy Hunt", "Chad Fowler"])
270
+ expect(@b2.autores).to eq(["Scott Chacon"])
271
+ expect(@b3.autores).to eq(["David Flanagan", "Yukihiro Matsumoto"])
272
+ end
273
+ it "Test metodo titulo" do
274
+ expect(@b1.titulo).to eq("Programming Ruby 1.9 & 2.0: The Pragmatic Programmers Guide")
275
+ expect(@b2.titulo).to eq("Pro Git 2009th Edition")
276
+ expect(@b3.titulo).to eq("The Ruby Programming Language")
277
+ end
278
+ it "Test metodo serie" do
279
+ expect(@b1.serie).to eq("The Facets of Ruby")
280
+ expect(@b2.serie).to eq("Pro")
281
+ expect(@b3.serie).to eq(nil)
282
+ end
283
+ it "Test metodo editorial" do
284
+ expect(@b1.editorial).to eq("Pragmatic Bookshelf")
285
+ expect(@b2.editorial).to eq("Apress")
286
+ expect(@b3.editorial).to eq("O'Reilly Media")
287
+ end
288
+ it "Test metodo edicion" do
289
+ expect(@b1.n_edicion).to eq(4)
290
+ expect(@b2.n_edicion).to eq(2009)
291
+ expect(@b3.n_edicion).to eq(1)
292
+ end
293
+ it "Test metodo fecha" do
294
+ expect(@b1.fecha_publicacion.to_s).to eq("2013-07-07")
295
+ expect(@b2.fecha_publicacion.to_s).to eq("2009-08-27")
296
+ expect(@b3.fecha_publicacion.to_s).to eq("2008-02-04")
297
+ end
298
+ it "Test metodo isbn" do
299
+ expect(@b1.isbn).to eq(["978-1937785499", "1937785491"])
300
+ expect(@b2.isbn).to eq(["978-1430218333", "1430218339"])
301
+ expect(@b3.isbn).to eq(["0596516177", "978-0596516178"])
302
+ end
303
+ it "Test metodo to_s (nos devuelve una referencia formateada)" do
304
+ expect(@b1.to_s).to eq(@b1.to_s)
305
+ expect(@b2.to_s).to eq(@b2.to_s)
306
+ expect(@b3.to_s).to eq(@b3.to_s)
307
+ end
308
+ end
309
+
310
+ describe "Lanzamiento de errores al construir Libro" do
311
+ it "Debe haber un autor" do
312
+ expect { Libro.new(nil, "titulo", "serie", "editorial", 1, "1-1-1991", ["isbn1", "isbn2"]) }.to raise_error(ArgumentError)
313
+ end
314
+ it "Debe haber un titulo" do
315
+ expect { Libro.new(["autor1"] , nil, "serie", "editorial", 1, "1-1-1991", ["isbn1", "isbn2"]) }.to raise_error(ArgumentError)
316
+ end
317
+ it "Debe haber una editorial" do
318
+ expect { Libro.new(["autor1","autor2","autor3"], "titulo", "serie",nil , 1, "1-1-1991", ["isbn1", "isbn2"]) }.to raise_error(ArgumentError)
319
+ end
320
+ it "Debe haber una edicion" do
321
+ expect { Libro.new(["autor1","autor2","autor3"], "titulo", "serie", "editorial",nil , "1-1-1991", ["isbn1", "isbn2"]) }.to raise_error(ArgumentError)
322
+ end
323
+ it "Debe haber una fecha de publicacion" do
324
+ expect { Libro.new(["autor1","autor2","autor3"], "titulo", "serie", "editorial", 1,nil , ["isbn1", "isbn2"]) }.to raise_error(ArgumentError)
325
+ end
326
+ end
327
+
328
+ describe "Comprobacion de una correcta construccion de la lista" do
329
+ it "Existe al menos un Nodo" do
330
+ expect(@l1.front).not_to eq(nil)
331
+ expect(@l2.front).not_to eq(nil)
332
+ end
333
+ it "Los nodos tienen un valor, un sucesor y un predecesor" do
334
+ expect(@l1.front.value).to eq(nil)
335
+ expect(@l1.front.next).to eq(nil)
336
+ expect(@l1.front.previous).to eq(nil)
337
+ expect(@l1.end.value).to eq(nil)
338
+ expect(@l1.end.next).to eq(nil)
339
+ expect(@l1.end.previous).to eq(nil)
340
+ expect(@l2.front.value).not_to eq(nil)
341
+ expect(@l2.front.next).to eq(nil)
342
+ expect(@l2.front.previous).to eq(nil)
343
+ expect(@l2.end.value).not_to eq(nil)
344
+ expect(@l2.end.next).to eq(nil)
345
+ expect(@l2.end.previous).to eq(nil)
346
+ end
347
+ end
348
+
349
+ describe "Comprobacion del funcionamiento del enlace entre Nodos" do
350
+ it "Test enlace nodos" do
351
+ expect(@l1.front.value).to eq(nil)
352
+ expect(@l2.front.value).to eq(@b1)
353
+ end
354
+ end
355
+
356
+ describe "Comprobacion del funcionamiento de los metodos de la lista" do
357
+ it "Se inserta un elemento al principo de la lista" do
358
+ @l1.push_front(@b3)
359
+ expect(@l1.front.value).to eq(@b3)
360
+ @l2.push_front(@b3)
361
+ expect(@l2.front.value).to eq(@b3)
362
+ end
363
+ it "Se inserta un elemento al final de la lista" do
364
+ @l1.push_back(@b1)
365
+ expect(@l1.get_pos(@l1.size-1).value).to eq(@b1)
366
+ @l2.push_back(@b2)
367
+ expect(@l2.get_pos(@l2.size-1).value).to eq(@b2)
368
+ end
369
+ it "Se extrae el primer elemento de la lista" do
370
+ expect(@l1.pop_front).to eq(nil)
371
+ expect(@l2.pop_front).to eq(@b1)
372
+ end
373
+ it "Se extrae el ultimo elemento de la lista" do
374
+ expect(@l1.pop_back).to eq(nil)
375
+ expect(@l2.pop_back).to eq(@b1)
376
+ end
377
+ it "Se inserta un elemento a la lista" do
378
+ @l1.insert(0, @b1)
379
+ expect(@l1.front.value).to eq(@b1)
380
+ end
381
+ it "Se insertan varios elementos a la lista" do
382
+ @l1.insert(0, @b1)
383
+ expect(@l1.front.value).to eq(@b1)
384
+ @l1.insert(1, @b2)
385
+ expect(@l1.get_pos(1).value).to eq(@b2)
386
+ @l1.insert(2, @b3)
387
+ expect(@l1.get_pos(2).value).to eq(@b3)
388
+ end
389
+ end
390
+
391
+ describe "Comprobacion de las comparaciones" do
392
+ it "Test mayor que" do
393
+ expect(@b2 > @b1).to be true
394
+ expect(@r2 > @r1).to be true
395
+ expect(@p2 > @p1).to be true
396
+ expect(@e2 > @e1).to be true
397
+ expect(@p2 > @e1).to be true
398
+ end
399
+ it "Test mayor o igual que" do
400
+ expect(@b2 >= @b1).to be true
401
+ expect(@r2 >= @r1).to be true
402
+ expect(@p1 >= @p1).to be true
403
+ expect(@e1 >= @e1).to be true
404
+ expect(@p2 >= @e1).to be true
405
+ end
406
+ it "Test menor que" do
407
+ expect(@b1 < @b2).to be true
408
+ expect(@r1 < @r2).to be true
409
+ expect(@p1 < @p2).to be true
410
+ expect(@e1 < @e2).to be true
411
+ expect(@p1 < @e2).to be true
412
+ end
413
+ it "Test menor o igual que" do
414
+ expect(@b1 <= @b2).to be true
415
+ expect(@r1 <= @r2).to be true
416
+ expect(@p1 <= @p1).to be true
417
+ expect(@e1 <= @e1).to be true
418
+ expect(@e1 <= @p2).to be true
419
+ end
420
+ it "Test igual que" do
421
+ expect(@b1 == @b1).to be true
422
+ expect(@r1 == @r1).to be true
423
+ expect(@p1 == @p1).to be true
424
+ expect(@e1 == @e1).to be true
425
+ expect(@e1 == @p1).to be true
426
+ expect(@r1 == @p1).to be true
427
+ expect(@r1 == @e1).to be true
428
+ end
429
+ it "Test distinto que" do
430
+ expect(@b1 != @b2).to be true
431
+ expect(@r1 != @r2).to be true
432
+ expect(@p1 != @p2).to be true
433
+ expect(@e1 != @e2).to be true
434
+ expect(@e1 != @p2).to be true
435
+ expect(@p2 != @r1).to be true
436
+ expect(@r2 != @e1).to be true
437
+ end
438
+ end
439
+
440
+ describe "Comprobacion Enumerable" do
441
+ it "comprobrando el metodo all? con un bloque vacio" do
442
+ expect(@l1.all?).to eq(true)
443
+ expect(@l2.all?).to eq(true)
444
+ end
445
+ it "comprobrando el metodo any?" do
446
+ expect(@l1.any?).to eq(false)
447
+ expect(@l2.any?).to eq(true)
448
+ end
449
+ it "comprobrando el metodo collect" do
450
+ expect(@l1.map{|i| i}).to eq([])
451
+ expect(@l2.map{|i| i}).to eq([@b1])
452
+ expect(@l2.collect{|i| i}).to eq([@b1])
453
+ end
454
+ it "comprobrando el metodo count" do
455
+ expect(@l1.count).to eq(0)
456
+ expect(@l2.count).to eq(1)
457
+ expect(@l3.count).to eq(2)
458
+ end
459
+ it "comprobrando el metodo detect" do
460
+ expect(@l3.detect {|i| i == @b3}).to eq(nil)
461
+ expect(@l3.detect {|i| i == @p2}).to eq(@p2)
462
+ expect(@l3.find {|i| i == @b3}).to eq(nil)
463
+ expect(@l3.find {|i| i == @p1}).to eq(@p1)
464
+ end
465
+ it "comprobrando drop" do
466
+ expect(@l3.drop(1)).to eq([@p1])
467
+ end
468
+ it "comprobrando max" do
469
+ expect(@l3.max).to eq(@p2)
470
+ end
471
+ it "comprobrando min" do
472
+ expect(@l3.min).to eq(@p1)
473
+ end
474
+ it "comprobrando sort" do
475
+ expect(@l3.sort).to eq([@p1,@p2])
476
+ end
477
+ end
478
+ end