hamster 0.2.4 → 0.2.5

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 (159) hide show
  1. data/History.rdoc +8 -0
  2. data/lib/hamster.rbc +133 -0
  3. data/lib/hamster/core_ext.rbc +69 -0
  4. data/lib/hamster/core_ext/enumerable.rbc +481 -0
  5. data/lib/hamster/core_ext/io.rbc +652 -0
  6. data/lib/hamster/hash.rb +4 -11
  7. data/lib/hamster/hash.rbc +3537 -0
  8. data/lib/hamster/list.rb +15 -5
  9. data/lib/hamster/list.rbc +14428 -0
  10. data/lib/hamster/set.rb +13 -12
  11. data/lib/hamster/set.rbc +5541 -0
  12. data/lib/hamster/stack.rbc +1623 -0
  13. data/lib/hamster/trie.rbc +3449 -0
  14. data/lib/hamster/tuple.rbc +800 -0
  15. data/lib/hamster/version.rb +1 -1
  16. data/lib/hamster/version.rbc +143 -0
  17. data/spec/hamster/core_ext/enumerable_spec.rbc +751 -0
  18. data/spec/hamster/core_ext/io_spec.rbc +413 -0
  19. data/spec/hamster/hash/all_spec.rbc +1312 -0
  20. data/spec/hamster/hash/any_spec.rbc +1501 -0
  21. data/spec/hamster/hash/construction_spec.rbc +750 -0
  22. data/spec/hamster/hash/copying_spec.rbc +524 -0
  23. data/spec/hamster/hash/delete_spec.rbc +1146 -0
  24. data/spec/hamster/hash/each_spec.rbc +997 -0
  25. data/spec/hamster/hash/empty_spec.rbc +597 -0
  26. data/spec/hamster/hash/eql_spec.rbc +1704 -0
  27. data/spec/hamster/hash/filter_spec.rbc +1450 -0
  28. data/spec/hamster/hash/get_spec.rbc +793 -0
  29. data/spec/hamster/hash/has_key_spec.rbc +720 -0
  30. data/spec/hamster/hash/inspect_spec.rbc +658 -0
  31. data/spec/hamster/hash/map_spec.rbc +1471 -0
  32. data/spec/hamster/hash/none_spec.rbc +1404 -0
  33. data/spec/hamster/hash/put_spec.rbc +1346 -0
  34. data/spec/hamster/hash/reduce_spec.rbc +1255 -0
  35. data/spec/hamster/hash/remove_spec.rbc +1467 -0
  36. data/spec/hamster/hash/size_spec.rbc +598 -0
  37. data/spec/hamster/hash/uniq_spec.rbc +529 -0
  38. data/spec/hamster/list/all_spec.rbc +2158 -0
  39. data/spec/hamster/list/any_spec.rbc +1751 -0
  40. data/spec/hamster/list/append_spec.rbc +1193 -0
  41. data/spec/hamster/list/at_spec.rb +49 -0
  42. data/spec/hamster/list/break_spec.rbc +1804 -0
  43. data/spec/hamster/list/cadr_spec.rbc +1065 -0
  44. data/spec/hamster/list/chunk_spec.rbc +920 -0
  45. data/spec/hamster/list/clear_spec.rb +1 -1
  46. data/spec/hamster/list/clear_spec.rbc +635 -0
  47. data/spec/hamster/list/combinations_spec.rbc +1308 -0
  48. data/spec/hamster/list/compact_spec.rbc +987 -0
  49. data/spec/hamster/list/cons_spec.rbc +853 -0
  50. data/spec/hamster/list/construction_spec.rbc +2532 -0
  51. data/spec/hamster/list/copying_spec.rbc +576 -0
  52. data/spec/hamster/list/count_spec.rbc +1216 -0
  53. data/spec/hamster/list/cycle_spec.rbc +1003 -0
  54. data/spec/hamster/list/drop_spec.rbc +949 -0
  55. data/spec/hamster/list/drop_while_spec.rbc +1289 -0
  56. data/spec/hamster/list/each_slice_spec.rbc +1659 -0
  57. data/spec/hamster/list/each_spec.rbc +1403 -0
  58. data/spec/hamster/list/empty_spec.rbc +947 -0
  59. data/spec/hamster/list/eql_spec.rbc +1669 -0
  60. data/spec/hamster/list/filter_spec.rbc +1379 -0
  61. data/spec/hamster/list/find_spec.rbc +1322 -0
  62. data/spec/hamster/list/flatten_spec.rbc +954 -0
  63. data/spec/hamster/list/grep_spec.rbc +1517 -0
  64. data/spec/hamster/list/group_by_spec.rbc +1536 -0
  65. data/spec/hamster/list/head_spec.rbc +948 -0
  66. data/spec/hamster/list/include_spec.rb +4 -0
  67. data/spec/hamster/list/include_spec.rbc +1044 -0
  68. data/spec/hamster/list/init_spec.rbc +877 -0
  69. data/spec/hamster/list/inits_spec.rbc +988 -0
  70. data/spec/hamster/list/inspect_spec.rbc +855 -0
  71. data/spec/hamster/list/intersperse_spec.rbc +912 -0
  72. data/spec/hamster/list/join_spec.rbc +1357 -0
  73. data/spec/hamster/list/last_spec.rbc +856 -0
  74. data/spec/hamster/list/map_spec.rbc +1548 -0
  75. data/spec/hamster/list/maximum_spec.rbc +1498 -0
  76. data/spec/hamster/list/minimum_spec.rbc +1498 -0
  77. data/spec/hamster/list/none_spec.rbc +1647 -0
  78. data/spec/hamster/list/one_spec.rbc +1664 -0
  79. data/spec/hamster/list/partition_spec.rbc +1528 -0
  80. data/spec/hamster/list/product_spec.rbc +844 -0
  81. data/spec/hamster/list/reduce_spec.rbc +1943 -0
  82. data/spec/hamster/list/remove_spec.rbc +1518 -0
  83. data/spec/hamster/list/reverse_spec.rbc +1204 -0
  84. data/spec/hamster/list/size_spec.rbc +920 -0
  85. data/spec/hamster/list/slice_spec.rb +50 -0
  86. data/spec/hamster/list/sorting_spec.rbc +1612 -0
  87. data/spec/hamster/list/span_spec.rbc +1798 -0
  88. data/spec/hamster/list/split_at_spec.rbc +1139 -0
  89. data/spec/hamster/list/sum_spec.rbc +842 -0
  90. data/spec/hamster/list/tail_spec.rbc +994 -0
  91. data/spec/hamster/list/tails_spec.rbc +988 -0
  92. data/spec/hamster/list/take_spec.rbc +943 -0
  93. data/spec/hamster/list/take_while_spec.rbc +1399 -0
  94. data/spec/hamster/list/to_a_spec.rbc +1140 -0
  95. data/spec/hamster/list/to_ary_spec.rbc +1128 -0
  96. data/spec/hamster/list/to_list_spec.rbc +561 -0
  97. data/spec/hamster/list/union_spec.rbc +1147 -0
  98. data/spec/hamster/list/uniq_spec.rbc +1007 -0
  99. data/spec/hamster/list/zip_spec.rbc +1020 -0
  100. data/spec/hamster/set/add_spec.rbc +1051 -0
  101. data/spec/hamster/set/all_spec.rbc +1418 -0
  102. data/spec/hamster/set/any_spec.rbc +1449 -0
  103. data/spec/hamster/set/clear_spec.rb +36 -0
  104. data/spec/hamster/set/compact_spec.rbc +807 -0
  105. data/spec/hamster/set/construction_spec.rbc +426 -0
  106. data/spec/hamster/set/copying_spec.rbc +474 -0
  107. data/spec/hamster/set/count_spec.rbc +953 -0
  108. data/spec/hamster/set/delete_spec.rbc +958 -0
  109. data/spec/hamster/set/each_spec.rbc +909 -0
  110. data/spec/hamster/set/empty_spec.rbc +656 -0
  111. data/spec/hamster/set/eql_spec.rbc +1311 -0
  112. data/spec/hamster/set/filter_spec.rbc +1289 -0
  113. data/spec/hamster/set/find_spec.rbc +1017 -0
  114. data/spec/hamster/set/grep_spec.rbc +1181 -0
  115. data/spec/hamster/set/group_by_spec.rbc +1276 -0
  116. data/spec/hamster/set/head_spec.rbc +659 -0
  117. data/spec/hamster/set/include_spec.rb +6 -2
  118. data/spec/hamster/set/include_spec.rbc +668 -0
  119. data/spec/hamster/set/inspect_spec.rbc +593 -0
  120. data/spec/hamster/set/join_spec.rbc +1075 -0
  121. data/spec/hamster/set/map_spec.rbc +1302 -0
  122. data/spec/hamster/set/maximum_spec.rbc +1334 -0
  123. data/spec/hamster/set/minimum_spec.rbc +1334 -0
  124. data/spec/hamster/set/none_spec.rbc +1348 -0
  125. data/spec/hamster/set/one_spec.rbc +1708 -0
  126. data/spec/hamster/set/partition_spec.rbc +1348 -0
  127. data/spec/hamster/set/product_spec.rbc +581 -0
  128. data/spec/hamster/set/reduce_spec.rbc +1198 -0
  129. data/spec/hamster/set/remove_spec.rbc +1295 -0
  130. data/spec/hamster/set/size_spec.rbc +533 -0
  131. data/spec/hamster/set/sorting_spec.rbc +1228 -0
  132. data/spec/hamster/set/sum_spec.rbc +579 -0
  133. data/spec/hamster/set/to_a_spec.rbc +774 -0
  134. data/spec/hamster/set/to_list_spec.rbc +862 -0
  135. data/spec/hamster/set/to_set_spec.rbc +561 -0
  136. data/spec/hamster/set/uniq_spec.rbc +479 -0
  137. data/spec/hamster/stack/clear_spec.rb +1 -1
  138. data/spec/hamster/stack/clear_spec.rbc +635 -0
  139. data/spec/hamster/stack/construction_spec.rbc +872 -0
  140. data/spec/hamster/stack/copying_spec.rbc +561 -0
  141. data/spec/hamster/stack/empty_spec.rbc +577 -0
  142. data/spec/hamster/stack/eql_spec.rbc +1283 -0
  143. data/spec/hamster/stack/inspect_spec.rbc +592 -0
  144. data/spec/hamster/stack/pop_spec.rbc +1098 -0
  145. data/spec/hamster/stack/push_spec.rbc +853 -0
  146. data/spec/hamster/stack/size_spec.rbc +657 -0
  147. data/spec/hamster/stack/to_a_spec.rbc +801 -0
  148. data/spec/hamster/stack/to_list_spec.rbc +635 -0
  149. data/spec/hamster/stack/top_spec.rbc +683 -0
  150. data/spec/hamster/trie/remove_spec.rbc +40 -0
  151. data/spec/hamster/tuple/copying_spec.rbc +511 -0
  152. data/spec/hamster/tuple/first_spec.rbc +423 -0
  153. data/spec/hamster/tuple/inspect_spec.rbc +423 -0
  154. data/spec/hamster/tuple/last_spec.rbc +423 -0
  155. data/spec/hamster/tuple/to_a_spec.rbc +803 -0
  156. data/spec/hamster/tuple/to_ary_spec.rbc +908 -0
  157. data/spec/spec_helper.rbc +184 -0
  158. data/tasks/spec.rbc +202 -0
  159. metadata +151 -2
@@ -9,10 +9,10 @@ describe Hamster::Set do
9
9
  describe "##{method}" do
10
10
 
11
11
  before do
12
- @set = Hamster.set("A", "B", "C", nil)
12
+ @set = Hamster.set("A", "B", "C", 2.0, nil)
13
13
  end
14
14
 
15
- ["A", "B", "C", nil].each do |value|
15
+ ["A", "B", "C", 2.0, nil].each do |value|
16
16
 
17
17
  it "returns true for an existing value (#{value.inspect})" do
18
18
  @set.send(method, value).should == true
@@ -24,6 +24,10 @@ describe Hamster::Set do
24
24
  @set.send(method, "D").should == false
25
25
  end
26
26
 
27
+ it "uses #eql? for equality" do
28
+ @set.send(method, 2).should == false
29
+ end
30
+
27
31
  end
28
32
 
29
33
  end
@@ -0,0 +1,668 @@
1
+ !RBIX
2
+ 0
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 50
13
+ 5
14
+ 42
15
+ 0
16
+ 1
17
+ 42
18
+ 0
19
+ 2
20
+ 62
21
+ 45
22
+ 3
23
+ 46
24
+ 4
25
+ 1
26
+ 7
27
+ 5
28
+ 61
29
+ 78
30
+ 6
31
+ 46
32
+ 7
33
+ 1
34
+ 44
35
+ 46
36
+ 8
37
+ 1
38
+ 14
39
+ 5
40
+ 7
41
+ 9
42
+ 61
43
+ 44
44
+ 46
45
+ 8
46
+ 1
47
+ 14
48
+ 5
49
+ 42
50
+ 10
51
+ 11
52
+ 40
53
+ 12
54
+ 53
55
+ 13
56
+ 44
57
+ 47
58
+ 14
59
+ 1
60
+ 14
61
+ 2
62
+ 11
63
+ I
64
+ 4
65
+ I
66
+ 0
67
+ I
68
+ 0
69
+ I
70
+ 0
71
+ n
72
+ p
73
+ 15
74
+ x
75
+ 4
76
+ File
77
+ n
78
+ n
79
+ x
80
+ 11
81
+ active_path
82
+ x
83
+ 7
84
+ dirname
85
+ s
86
+ 18
87
+ /../../spec_helper
88
+ x
89
+ 1
90
+ +
91
+ x
92
+ 11
93
+ expand_path
94
+ x
95
+ 7
96
+ require
97
+ s
98
+ 11
99
+ hamster/set
100
+ x
101
+ 7
102
+ Hamster
103
+ n
104
+ x
105
+ 3
106
+ Set
107
+ M
108
+ 1
109
+ n
110
+ n
111
+ x
112
+ 9
113
+ __block__
114
+ i
115
+ 16
116
+ 7
117
+ 0
118
+ 7
119
+ 1
120
+ 7
121
+ 2
122
+ 7
123
+ 3
124
+ 32
125
+ 4
126
+ 53
127
+ 4
128
+ 47
129
+ 5
130
+ 0
131
+ 11
132
+ I
133
+ 5
134
+ I
135
+ 0
136
+ I
137
+ 0
138
+ I
139
+ 0
140
+ I
141
+ -2
142
+ p
143
+ 6
144
+ x
145
+ 8
146
+ include?
147
+ x
148
+ 7
149
+ member?
150
+ x
151
+ 9
152
+ contains?
153
+ x
154
+ 5
155
+ elem?
156
+ M
157
+ 1
158
+ n
159
+ n
160
+ x
161
+ 9
162
+ __block__
163
+ i
164
+ 21
165
+ 54
166
+ 17
167
+ 0
168
+ 14
169
+ 5
170
+ 7
171
+ 0
172
+ 18
173
+ 0
174
+ 44
175
+ 45
176
+ 1
177
+ 60
178
+ 2
179
+ 53
180
+ 2
181
+ 44
182
+ 47
183
+ 3
184
+ 1
185
+ 11
186
+ I
187
+ 5
188
+ I
189
+ 1
190
+ I
191
+ 1
192
+ I
193
+ 1
194
+ I
195
+ -1
196
+ p
197
+ 4
198
+ s
199
+ 1
200
+ #
201
+ x
202
+ 4
203
+ to_s
204
+ M
205
+ 1
206
+ n
207
+ n
208
+ x
209
+ 9
210
+ __block__
211
+ i
212
+ 37
213
+ 5
214
+ 53
215
+ 0
216
+ 44
217
+ 47
218
+ 1
219
+ 0
220
+ 14
221
+ 7
222
+ 2
223
+ 61
224
+ 7
225
+ 3
226
+ 61
227
+ 7
228
+ 4
229
+ 61
230
+ 1
231
+ 32
232
+ 4
233
+ 53
234
+ 5
235
+ 47
236
+ 6
237
+ 0
238
+ 14
239
+ 5
240
+ 7
241
+ 7
242
+ 61
243
+ 53
244
+ 8
245
+ 44
246
+ 47
247
+ 9
248
+ 1
249
+ 11
250
+ I
251
+ 5
252
+ I
253
+ 0
254
+ I
255
+ 0
256
+ I
257
+ 0
258
+ I
259
+ -2
260
+ p
261
+ 10
262
+ M
263
+ 1
264
+ n
265
+ n
266
+ x
267
+ 9
268
+ __block__
269
+ i
270
+ 19
271
+ 42
272
+ 0
273
+ 1
274
+ 7
275
+ 2
276
+ 61
277
+ 7
278
+ 3
279
+ 61
280
+ 7
281
+ 4
282
+ 61
283
+ 1
284
+ 46
285
+ 5
286
+ 4
287
+ 35
288
+ 6
289
+ 11
290
+ I
291
+ 6
292
+ I
293
+ 0
294
+ I
295
+ 0
296
+ I
297
+ 0
298
+ I
299
+ -2
300
+ p
301
+ 7
302
+ x
303
+ 7
304
+ Hamster
305
+ n
306
+ s
307
+ 1
308
+ A
309
+ s
310
+ 1
311
+ B
312
+ s
313
+ 1
314
+ C
315
+ x
316
+ 3
317
+ set
318
+ x
319
+ 4
320
+ @set
321
+ p
322
+ 5
323
+ I
324
+ 0
325
+ I
326
+ b
327
+ I
328
+ 0
329
+ I
330
+ c
331
+ I
332
+ 13
333
+ x
334
+ 34
335
+ ./spec/hamster/set/include_spec.rb
336
+ p
337
+ 0
338
+ x
339
+ 6
340
+ before
341
+ s
342
+ 1
343
+ A
344
+ s
345
+ 1
346
+ B
347
+ s
348
+ 1
349
+ C
350
+ M
351
+ 1
352
+ n
353
+ n
354
+ x
355
+ 9
356
+ __block__
357
+ i
358
+ 25
359
+ 54
360
+ 17
361
+ 0
362
+ 14
363
+ 5
364
+ 7
365
+ 0
366
+ 18
367
+ 0
368
+ 45
369
+ 1
370
+ 44
371
+ 45
372
+ 2
373
+ 7
374
+ 3
375
+ 60
376
+ 3
377
+ 53
378
+ 4
379
+ 44
380
+ 47
381
+ 5
382
+ 1
383
+ 11
384
+ I
385
+ 6
386
+ I
387
+ 1
388
+ I
389
+ 1
390
+ I
391
+ 1
392
+ I
393
+ -1
394
+ p
395
+ 6
396
+ s
397
+ 36
398
+ returns true for an existing value (
399
+ x
400
+ 7
401
+ inspect
402
+ x
403
+ 4
404
+ to_s
405
+ s
406
+ 1
407
+ )
408
+ M
409
+ 1
410
+ n
411
+ n
412
+ x
413
+ 9
414
+ __block__
415
+ i
416
+ 17
417
+ 36
418
+ 0
419
+ 19
420
+ 3
421
+ 0
422
+ 19
423
+ 1
424
+ 0
425
+ 46
426
+ 1
427
+ 2
428
+ 45
429
+ 2
430
+ 2
431
+ 80
432
+ 3
433
+ 11
434
+ I
435
+ 4
436
+ I
437
+ 0
438
+ I
439
+ 0
440
+ I
441
+ 0
442
+ I
443
+ -2
444
+ p
445
+ 4
446
+ x
447
+ 4
448
+ @set
449
+ x
450
+ 4
451
+ send
452
+ x
453
+ 6
454
+ should
455
+ x
456
+ 2
457
+ ==
458
+ p
459
+ 5
460
+ I
461
+ 0
462
+ I
463
+ 11
464
+ I
465
+ 0
466
+ I
467
+ 12
468
+ I
469
+ 11
470
+ x
471
+ 34
472
+ ./spec/hamster/set/include_spec.rb
473
+ p
474
+ 0
475
+ x
476
+ 2
477
+ it
478
+ p
479
+ 5
480
+ I
481
+ 0
482
+ I
483
+ f
484
+ I
485
+ 4
486
+ I
487
+ 11
488
+ I
489
+ 19
490
+ x
491
+ 34
492
+ ./spec/hamster/set/include_spec.rb
493
+ p
494
+ 1
495
+ x
496
+ 5
497
+ value
498
+ x
499
+ 4
500
+ each
501
+ s
502
+ 38
503
+ returns false for a non-existing value
504
+ M
505
+ 1
506
+ n
507
+ n
508
+ x
509
+ 9
510
+ __block__
511
+ i
512
+ 17
513
+ 36
514
+ 0
515
+ 19
516
+ 2
517
+ 0
518
+ 7
519
+ 1
520
+ 61
521
+ 46
522
+ 2
523
+ 2
524
+ 45
525
+ 3
526
+ 3
527
+ 80
528
+ 4
529
+ 11
530
+ I
531
+ 4
532
+ I
533
+ 0
534
+ I
535
+ 0
536
+ I
537
+ 0
538
+ I
539
+ -2
540
+ p
541
+ 5
542
+ x
543
+ 4
544
+ @set
545
+ s
546
+ 1
547
+ D
548
+ x
549
+ 4
550
+ send
551
+ x
552
+ 6
553
+ should
554
+ x
555
+ 2
556
+ ==
557
+ p
558
+ 5
559
+ I
560
+ 0
561
+ I
562
+ 17
563
+ I
564
+ 0
565
+ I
566
+ 18
567
+ I
568
+ 11
569
+ x
570
+ 34
571
+ ./spec/hamster/set/include_spec.rb
572
+ p
573
+ 0
574
+ x
575
+ 2
576
+ it
577
+ p
578
+ 9
579
+ I
580
+ 0
581
+ I
582
+ 9
583
+ I
584
+ 0
585
+ I
586
+ b
587
+ I
588
+ 8
589
+ I
590
+ f
591
+ I
592
+ 1a
593
+ I
594
+ 17
595
+ I
596
+ 25
597
+ x
598
+ 34
599
+ ./spec/hamster/set/include_spec.rb
600
+ p
601
+ 0
602
+ x
603
+ 8
604
+ describe
605
+ p
606
+ 5
607
+ I
608
+ 0
609
+ I
610
+ 7
611
+ I
612
+ 4
613
+ I
614
+ 9
615
+ I
616
+ 15
617
+ x
618
+ 34
619
+ ./spec/hamster/set/include_spec.rb
620
+ p
621
+ 1
622
+ x
623
+ 6
624
+ method
625
+ x
626
+ 4
627
+ each
628
+ p
629
+ 5
630
+ I
631
+ 0
632
+ I
633
+ 5
634
+ I
635
+ 0
636
+ I
637
+ 7
638
+ I
639
+ 10
640
+ x
641
+ 34
642
+ ./spec/hamster/set/include_spec.rb
643
+ p
644
+ 0
645
+ x
646
+ 8
647
+ describe
648
+ p
649
+ 7
650
+ I
651
+ 0
652
+ I
653
+ 1
654
+ I
655
+ 1a
656
+ I
657
+ 3
658
+ I
659
+ 23
660
+ I
661
+ 5
662
+ I
663
+ 32
664
+ x
665
+ 34
666
+ ./spec/hamster/set/include_spec.rb
667
+ p
668
+ 0