alf 0.9.2 → 0.9.3

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 (187) hide show
  1. data/CHANGELOG.md +89 -0
  2. data/Gemfile.lock +6 -1
  3. data/README.md +35 -21
  4. data/TODO.md +0 -5
  5. data/alf.gemspec +2 -0
  6. data/alf.noespec +6 -4
  7. data/bin/alf +9 -13
  8. data/examples/{autonum.alf → operators/autonum.alf} +0 -0
  9. data/examples/{cities.rash → operators/cities.rash} +0 -0
  10. data/examples/{clip.alf → operators/clip.alf} +0 -0
  11. data/examples/{compact.alf → operators/compact.alf} +0 -0
  12. data/examples/{database.alf → operators/database.alf} +1 -1
  13. data/examples/{defaults.alf → operators/defaults.alf} +0 -0
  14. data/examples/{extend.alf → operators/extend.alf} +0 -0
  15. data/examples/{group.alf → operators/group.alf} +0 -0
  16. data/examples/{intersect.alf → operators/intersect.alf} +0 -0
  17. data/examples/{join.alf → operators/join.alf} +0 -0
  18. data/examples/operators/matching.alf +2 -0
  19. data/examples/{minus.alf → operators/minus.alf} +0 -0
  20. data/examples/operators/not_matching.alf +2 -0
  21. data/examples/{nulls.rash → operators/nulls.rash} +0 -0
  22. data/examples/{parts.rash → operators/parts.rash} +0 -0
  23. data/examples/{project.alf → operators/project.alf} +0 -0
  24. data/examples/{pseudo-with.alf → operators/pseudo-with.alf} +0 -0
  25. data/examples/{quota.alf → operators/quota.alf} +0 -0
  26. data/examples/operators/rank.alf +4 -0
  27. data/examples/{rename.alf → operators/rename.alf} +0 -0
  28. data/examples/{restrict.alf → operators/restrict.alf} +0 -0
  29. data/examples/{schema.yaml → operators/schema.yaml} +0 -0
  30. data/examples/{sort.alf → operators/sort.alf} +0 -0
  31. data/examples/{summarize.alf → operators/summarize.alf} +0 -0
  32. data/examples/{suppliers.rash → operators/suppliers.rash} +0 -0
  33. data/examples/{supplies.rash → operators/supplies.rash} +0 -0
  34. data/examples/{ungroup.alf → operators/ungroup.alf} +0 -0
  35. data/examples/{union.alf → operators/union.alf} +0 -0
  36. data/examples/{unwrap.alf → operators/unwrap.alf} +0 -0
  37. data/examples/{wrap.alf → operators/wrap.alf} +0 -0
  38. data/lib/alf.rb +837 -62
  39. data/lib/alf/loader.rb +2 -1
  40. data/lib/alf/text.rb +160 -0
  41. data/lib/alf/version.rb +1 -1
  42. data/lib/alf/yaml.rb +24 -0
  43. data/spec/integration/__database__/group.alf +3 -0
  44. data/spec/integration/__database__/parts.rash +6 -0
  45. data/spec/integration/__database__/suppliers.rash +5 -0
  46. data/spec/integration/__database__/supplies.rash +12 -0
  47. data/spec/integration/command/alf/alf_e.cmd +1 -0
  48. data/spec/integration/command/alf/alf_e.stdout +4 -0
  49. data/spec/integration/command/alf/alf_env.cmd +1 -0
  50. data/spec/integration/command/alf/alf_env.stdout +5 -0
  51. data/spec/integration/command/alf/alf_implicit.alf +1 -0
  52. data/spec/integration/command/alf/alf_implicit_exec.cmd +1 -0
  53. data/spec/integration/command/alf/alf_implicit_exec.stdout +4 -0
  54. data/spec/integration/command/alf/alf_r.cmd +1 -0
  55. data/spec/integration/command/alf/alf_r.stdout +5 -0
  56. data/spec/integration/command/alf/alf_version.cmd +1 -0
  57. data/spec/integration/command/alf/alf_version.stdout +2 -0
  58. data/spec/integration/command/alf/alf_yaml.cmd +1 -0
  59. data/spec/integration/command/alf/alf_yaml.stdout +22 -0
  60. data/spec/integration/command/alf/rel.rash +1 -0
  61. data/spec/integration/command/autonum/autonum_0.cmd +1 -0
  62. data/spec/integration/command/autonum/autonum_0.stdout +9 -0
  63. data/spec/integration/command/autonum/autonum_1.cmd +1 -0
  64. data/spec/integration/command/autonum/autonum_1.stdout +9 -0
  65. data/spec/integration/command/clip/clip_0.cmd +1 -0
  66. data/spec/integration/command/clip/clip_0.stdout +9 -0
  67. data/spec/integration/command/clip/clip_1.cmd +1 -0
  68. data/spec/integration/command/clip/clip_1.stdout +9 -0
  69. data/spec/integration/command/compact/compact_0.cmd +1 -0
  70. data/spec/integration/command/compact/compact_0.stdout +9 -0
  71. data/spec/integration/command/defaults/defaults_0.cmd +1 -0
  72. data/spec/integration/command/defaults/defaults_0.stdout +9 -0
  73. data/spec/integration/command/defaults/defaults_1.cmd +1 -0
  74. data/spec/integration/command/defaults/defaults_1.stdout +9 -0
  75. data/spec/integration/command/extend/extend_0.cmd +1 -0
  76. data/spec/integration/command/extend/extend_0.stdout +16 -0
  77. data/spec/integration/command/group/group_0.cmd +1 -0
  78. data/spec/integration/command/group/group_0.stdout +32 -0
  79. data/spec/integration/command/group/group_1.cmd +1 -0
  80. data/spec/integration/command/group/group_1.stdout +32 -0
  81. data/spec/integration/command/intersect/intersect_0.cmd +1 -0
  82. data/spec/integration/command/intersect/intersect_0.stdout +9 -0
  83. data/spec/integration/command/join/join_0.cmd +1 -0
  84. data/spec/integration/command/join/join_0.stdout +16 -0
  85. data/spec/integration/command/matching/matching_0.cmd +1 -0
  86. data/spec/integration/command/matching/matching_0.stdout +8 -0
  87. data/spec/integration/command/minus/minus_0.cmd +1 -0
  88. data/spec/integration/command/minus/minus_0.stdout +4 -0
  89. data/spec/integration/command/not-matching/not-matching_0.cmd +1 -0
  90. data/spec/integration/command/not-matching/not-matching_0.stdout +5 -0
  91. data/spec/integration/command/project/project_0.cmd +1 -0
  92. data/spec/integration/command/project/project_0.stdout +9 -0
  93. data/spec/integration/command/project/project_1.cmd +1 -0
  94. data/spec/integration/command/project/project_1.stdout +9 -0
  95. data/spec/integration/command/quota/quota_0.cmd +1 -0
  96. data/spec/integration/command/quota/quota_0.stdout +16 -0
  97. data/spec/integration/command/rank/rank_1.cmd +1 -0
  98. data/spec/integration/command/rank/rank_1.stdout +10 -0
  99. data/spec/integration/command/rank/rank_2.cmd +1 -0
  100. data/spec/integration/command/rank/rank_2.stdout +10 -0
  101. data/spec/integration/command/rank/rank_3.cmd +1 -0
  102. data/spec/integration/command/rank/rank_3.stdout +10 -0
  103. data/spec/integration/command/rank/rank_4.cmd +1 -0
  104. data/spec/integration/command/rank/rank_4.stdout +6 -0
  105. data/spec/integration/command/rank/rank_5.cmd +1 -0
  106. data/spec/integration/command/rank/rank_5.stdout +6 -0
  107. data/spec/integration/command/rename/rename_0.cmd +1 -0
  108. data/spec/integration/command/rename/rename_0.stdout +9 -0
  109. data/spec/integration/command/restrict/restrict_0.cmd +1 -0
  110. data/spec/integration/command/restrict/restrict_0.stdout +6 -0
  111. data/spec/integration/command/restrict/restrict_1.cmd +1 -0
  112. data/spec/integration/command/restrict/restrict_1.stdout +6 -0
  113. data/spec/integration/command/show/show_base.cmd +1 -0
  114. data/spec/integration/command/show/show_base.stdout +9 -0
  115. data/spec/integration/command/show/show_conflictual.cmd +1 -0
  116. data/spec/integration/command/show/show_conflictual.stdout +5 -0
  117. data/spec/integration/command/show/show_rash.cmd +1 -0
  118. data/spec/integration/command/show/show_rash.stdout +5 -0
  119. data/spec/integration/command/show/show_rash_2.cmd +1 -0
  120. data/spec/integration/command/show/show_rash_2.stdout +5 -0
  121. data/spec/integration/command/show/show_yaml.cmd +1 -0
  122. data/spec/integration/command/show/show_yaml.stdout +22 -0
  123. data/spec/integration/command/sort/sort_0.cmd +1 -0
  124. data/spec/integration/command/sort/sort_0.stdout +9 -0
  125. data/spec/integration/command/sort/sort_1.cmd +1 -0
  126. data/spec/integration/command/sort/sort_1.stdout +9 -0
  127. data/spec/integration/command/summarize/summarize_0.cmd +1 -0
  128. data/spec/integration/command/summarize/summarize_0.stdout +8 -0
  129. data/spec/integration/command/ungroup/ungroup_0.cmd +1 -0
  130. data/spec/integration/command/ungroup/ungroup_0.stdout +16 -0
  131. data/spec/integration/command/union/union_0.cmd +1 -0
  132. data/spec/integration/command/union/union_0.stdout +9 -0
  133. data/spec/integration/command/unwrap/unwrap_0.cmd +1 -0
  134. data/spec/integration/command/unwrap/unwrap_0.stdout +9 -0
  135. data/spec/integration/command/wrap/wrap_0.cmd +1 -0
  136. data/spec/integration/command/wrap/wrap_0.stdout +9 -0
  137. data/spec/integration/semantics/test_join.alf +9 -0
  138. data/spec/integration/{src → semantics}/test_minus.alf +0 -0
  139. data/spec/integration/{src → semantics}/test_project.alf +0 -0
  140. data/spec/integration/semantics/test_rank.alf +34 -0
  141. data/spec/integration/test_command.rb +36 -0
  142. data/spec/integration/test_examples.rb +11 -22
  143. data/spec/integration/test_semantics.rb +40 -0
  144. data/spec/regression/alf_file/__FILE__.alf +2 -0
  145. data/spec/regression/alf_file/suppliers.rash +5 -0
  146. data/spec/regression/alf_file/test___FILE__.rb +17 -0
  147. data/spec/regression/heading/test_heading_with_date.rb +12 -0
  148. data/spec/regression/lispy/test_compile.rb +14 -0
  149. data/spec/regression/relation/test_relation_with_date.rb +12 -0
  150. data/spec/regression/restrict/test_restrict_with_keywords.rb +17 -0
  151. data/spec/shared/a_value.rb +12 -0
  152. data/spec/shared/an_operator_class.rb +35 -0
  153. data/spec/spec_helper.rb +12 -34
  154. data/spec/unit/assumptions/test_file.rb +17 -0
  155. data/spec/unit/{test_assumptions.rb → assumptions/test_instance_eval.rb} +1 -1
  156. data/spec/unit/assumptions/test_scoping.rb +29 -0
  157. data/spec/unit/environment/test_folder.rb +6 -1
  158. data/spec/unit/operator/relational/matching/test_hash_based.rb +60 -0
  159. data/spec/unit/operator/relational/not_matching/test_hash_based.rb +37 -0
  160. data/spec/unit/operator/relational/test_rank.rb +50 -0
  161. data/spec/unit/operator/test_relational.rb +3 -0
  162. data/spec/unit/reader/test_alf_file.rb +7 -4
  163. data/spec/unit/reader/test_initialize.rb +60 -0
  164. data/spec/unit/relation/test_relops.rb +4 -0
  165. data/spec/unit/relation/test_to_a.rb +41 -0
  166. data/spec/unit/renderer/test_initialize.rb +60 -0
  167. data/spec/unit/test_environment.rb +38 -0
  168. data/spec/unit/test_heading.rb +38 -0
  169. data/spec/unit/test_reader.rb +5 -0
  170. data/spec/unit/test_relation.rb +31 -1
  171. data/spec/unit/test_renderer.rb +1 -1
  172. data/spec/unit/{renderer/text → text}/test_cell.rb +1 -1
  173. data/spec/unit/{renderer/text → text}/test_row.rb +1 -1
  174. data/spec/unit/{renderer/text → text}/test_table.rb +1 -1
  175. data/spec/unit/tools/test_ordering_key.rb +13 -0
  176. data/spec/unit/tools/test_parse_commandline_args.rb +47 -0
  177. data/spec/unit/tools/test_tuple_handle.rb +34 -2
  178. data/spec/unit/tools/test_varargs.rb +16 -0
  179. data/tasks/{spec_test.rake → integration_test.rake} +4 -32
  180. data/tasks/regression_test.rake +52 -0
  181. data/tasks/unit_test.rake +33 -58
  182. metadata +326 -66
  183. data/examples/runall.sh +0 -26
  184. data/lib/alf/relation.rb +0 -118
  185. data/lib/alf/renderer/text.rb +0 -153
  186. data/lib/alf/renderer/yaml.rb +0 -22
  187. data/spec/integration/test_alf_specs.rb +0 -37
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-07-13 00:00:00.000000000Z
12
+ date: 2011-07-23 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &88021380 !ruby/object:Gem::Requirement
16
+ requirement: &82645750 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.9.2
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *88021380
24
+ version_requirements: *82645750
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &88021130 !ruby/object:Gem::Requirement
27
+ requirement: &82645420 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *88021130
35
+ version_requirements: *82645420
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &88080750 !ruby/object:Gem::Requirement
38
+ requirement: &82645050 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,21 @@ dependencies:
43
43
  version: 2.6.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *88080750
46
+ version_requirements: *82645050
47
+ - !ruby/object:Gem::Dependency
48
+ name: rcov
49
+ requirement: &82644720 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 0.9.9
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *82644720
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: yard
49
- requirement: &88080520 !ruby/object:Gem::Requirement
60
+ requirement: &82644430 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ~>
@@ -54,10 +65,10 @@ dependencies:
54
65
  version: 0.7.2
55
66
  type: :development
56
67
  prerelease: false
57
- version_requirements: *88080520
68
+ version_requirements: *82644430
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: bluecloth
60
- requirement: &88080290 !ruby/object:Gem::Requirement
71
+ requirement: &82644140 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ~>
@@ -65,10 +76,10 @@ dependencies:
65
76
  version: 2.0.9
66
77
  type: :development
67
78
  prerelease: false
68
- version_requirements: *88080290
79
+ version_requirements: *82644140
69
80
  - !ruby/object:Gem::Dependency
70
81
  name: wlang
71
- requirement: &88080060 !ruby/object:Gem::Requirement
82
+ requirement: &82643830 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
85
  - - ~>
@@ -76,10 +87,10 @@ dependencies:
76
87
  version: 0.10.1
77
88
  type: :development
78
89
  prerelease: false
79
- version_requirements: *88080060
90
+ version_requirements: *82643830
80
91
  - !ruby/object:Gem::Dependency
81
92
  name: noe
82
- requirement: &88079830 !ruby/object:Gem::Requirement
93
+ requirement: &82643520 !ruby/object:Gem::Requirement
83
94
  none: false
84
95
  requirements:
85
96
  - - ~>
@@ -87,10 +98,10 @@ dependencies:
87
98
  version: 1.3.0
88
99
  type: :development
89
100
  prerelease: false
90
- version_requirements: *88079830
101
+ version_requirements: *82643520
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: quickl
93
- requirement: &88079600 !ruby/object:Gem::Requirement
104
+ requirement: &82643200 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
107
  - - ~>
@@ -98,7 +109,18 @@ dependencies:
98
109
  version: 0.2.2
99
110
  type: :runtime
100
111
  prerelease: false
101
- version_requirements: *88079600
112
+ version_requirements: *82643200
113
+ - !ruby/object:Gem::Dependency
114
+ name: myrrha
115
+ requirement: &82642920 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: 1.0.0
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: *82642920
102
124
  description: ! "Alf brings the relational algebra both in Shell and in Ruby. In Shell,
103
125
  because \nmanipulating any relation-like data source should be as straightforward
104
126
  as a \none-liner. In Ruby, because I've never understood why programming languages
@@ -115,72 +137,183 @@ extra_rdoc_files:
115
137
  - LICENCE.md
116
138
  files:
117
139
  - bin/alf
118
- - examples/project.alf
119
- - examples/ungroup.alf
120
- - examples/supplies.rash
121
- - examples/schema.yaml
122
- - examples/nulls.rash
123
- - examples/autonum.alf
124
- - examples/sort.alf
125
- - examples/quota.alf
126
- - examples/rename.alf
127
- - examples/intersect.alf
128
- - examples/group.alf
129
- - examples/parts.rash
130
- - examples/cities.rash
131
- - examples/defaults.alf
132
- - examples/unwrap.alf
133
- - examples/join.alf
134
- - examples/union.alf
135
- - examples/pseudo-with.alf
136
- - examples/runall.sh
137
- - examples/wrap.alf
138
- - examples/database.alf
139
- - examples/extend.alf
140
- - examples/compact.alf
141
- - examples/suppliers.rash
142
- - examples/summarize.alf
143
- - examples/minus.alf
144
- - examples/clip.alf
145
- - examples/restrict.alf
140
+ - examples/operators/project.alf
141
+ - examples/operators/ungroup.alf
142
+ - examples/operators/supplies.rash
143
+ - examples/operators/schema.yaml
144
+ - examples/operators/nulls.rash
145
+ - examples/operators/autonum.alf
146
+ - examples/operators/matching.alf
147
+ - examples/operators/sort.alf
148
+ - examples/operators/quota.alf
149
+ - examples/operators/rename.alf
150
+ - examples/operators/intersect.alf
151
+ - examples/operators/not_matching.alf
152
+ - examples/operators/group.alf
153
+ - examples/operators/parts.rash
154
+ - examples/operators/cities.rash
155
+ - examples/operators/defaults.alf
156
+ - examples/operators/unwrap.alf
157
+ - examples/operators/join.alf
158
+ - examples/operators/union.alf
159
+ - examples/operators/pseudo-with.alf
160
+ - examples/operators/wrap.alf
161
+ - examples/operators/database.alf
162
+ - examples/operators/rank.alf
163
+ - examples/operators/extend.alf
164
+ - examples/operators/compact.alf
165
+ - examples/operators/suppliers.rash
166
+ - examples/operators/summarize.alf
167
+ - examples/operators/minus.alf
168
+ - examples/operators/clip.alf
169
+ - examples/operators/restrict.alf
146
170
  - lib/alf.rb
147
- - lib/alf/relation.rb
171
+ - lib/alf/yaml.rb
172
+ - lib/alf/text.rb
148
173
  - lib/alf/loader.rb
149
- - lib/alf/renderer/yaml.rb
150
- - lib/alf/renderer/text.rb
151
174
  - lib/alf/version.rb
152
175
  - spec/spec_helper.rb
176
+ - spec/shared/a_value.rb
177
+ - spec/shared/an_operator_class.rb
178
+ - spec/integration/command/rename/rename_0.stdout
179
+ - spec/integration/command/rename/rename_0.cmd
180
+ - spec/integration/command/ungroup/ungroup_0.cmd
181
+ - spec/integration/command/ungroup/ungroup_0.stdout
182
+ - spec/integration/command/compact/compact_0.stdout
183
+ - spec/integration/command/compact/compact_0.cmd
184
+ - spec/integration/command/union/union_0.stdout
185
+ - spec/integration/command/union/union_0.cmd
186
+ - spec/integration/command/restrict/restrict_0.stdout
187
+ - spec/integration/command/restrict/restrict_0.cmd
188
+ - spec/integration/command/restrict/restrict_1.cmd
189
+ - spec/integration/command/restrict/restrict_1.stdout
190
+ - spec/integration/command/extend/extend_0.cmd
191
+ - spec/integration/command/extend/extend_0.stdout
192
+ - spec/integration/command/join/join_0.stdout
193
+ - spec/integration/command/join/join_0.cmd
194
+ - spec/integration/command/quota/quota_0.stdout
195
+ - spec/integration/command/quota/quota_0.cmd
196
+ - spec/integration/command/wrap/wrap_0.stdout
197
+ - spec/integration/command/wrap/wrap_0.cmd
198
+ - spec/integration/command/group/group_1.stdout
199
+ - spec/integration/command/group/group_1.cmd
200
+ - spec/integration/command/group/group_0.stdout
201
+ - spec/integration/command/group/group_0.cmd
202
+ - spec/integration/command/minus/minus_0.cmd
203
+ - spec/integration/command/minus/minus_0.stdout
204
+ - spec/integration/command/not-matching/not-matching_0.cmd
205
+ - spec/integration/command/not-matching/not-matching_0.stdout
206
+ - spec/integration/command/alf/alf_e.cmd
207
+ - spec/integration/command/alf/alf_implicit_exec.stdout
208
+ - spec/integration/command/alf/rel.rash
209
+ - spec/integration/command/alf/alf_yaml.cmd
210
+ - spec/integration/command/alf/alf_version.stdout
211
+ - spec/integration/command/alf/alf_env.stdout
212
+ - spec/integration/command/alf/alf_r.stdout
213
+ - spec/integration/command/alf/alf_env.cmd
214
+ - spec/integration/command/alf/alf_version.cmd
215
+ - spec/integration/command/alf/alf_yaml.stdout
216
+ - spec/integration/command/alf/alf_e.stdout
217
+ - spec/integration/command/alf/alf_implicit_exec.cmd
218
+ - spec/integration/command/alf/alf_implicit.alf
219
+ - spec/integration/command/alf/alf_r.cmd
220
+ - spec/integration/command/unwrap/unwrap_0.cmd
221
+ - spec/integration/command/unwrap/unwrap_0.stdout
222
+ - spec/integration/command/clip/clip_1.cmd
223
+ - spec/integration/command/clip/clip_1.stdout
224
+ - spec/integration/command/clip/clip_0.cmd
225
+ - spec/integration/command/clip/clip_0.stdout
226
+ - spec/integration/command/project/project_1.stdout
227
+ - spec/integration/command/project/project_1.cmd
228
+ - spec/integration/command/project/project_0.cmd
229
+ - spec/integration/command/project/project_0.stdout
230
+ - spec/integration/command/matching/matching_0.stdout
231
+ - spec/integration/command/matching/matching_0.cmd
232
+ - spec/integration/command/defaults/defaults_1.stdout
233
+ - spec/integration/command/defaults/defaults_0.stdout
234
+ - spec/integration/command/defaults/defaults_1.cmd
235
+ - spec/integration/command/defaults/defaults_0.cmd
236
+ - spec/integration/command/intersect/intersect_0.cmd
237
+ - spec/integration/command/intersect/intersect_0.stdout
238
+ - spec/integration/command/show/show_base.stdout
239
+ - spec/integration/command/show/show_yaml.cmd
240
+ - spec/integration/command/show/show_yaml.stdout
241
+ - spec/integration/command/show/show_rash.cmd
242
+ - spec/integration/command/show/show_conflictual.stdout
243
+ - spec/integration/command/show/show_rash_2.cmd
244
+ - spec/integration/command/show/show_rash.stdout
245
+ - spec/integration/command/show/show_base.cmd
246
+ - spec/integration/command/show/show_rash_2.stdout
247
+ - spec/integration/command/show/show_conflictual.cmd
248
+ - spec/integration/command/rank/rank_5.stdout
249
+ - spec/integration/command/rank/rank_2.cmd
250
+ - spec/integration/command/rank/rank_5.cmd
251
+ - spec/integration/command/rank/rank_1.stdout
252
+ - spec/integration/command/rank/rank_3.cmd
253
+ - spec/integration/command/rank/rank_3.stdout
254
+ - spec/integration/command/rank/rank_1.cmd
255
+ - spec/integration/command/rank/rank_2.stdout
256
+ - spec/integration/command/rank/rank_4.cmd
257
+ - spec/integration/command/rank/rank_4.stdout
258
+ - spec/integration/command/sort/sort_0.stdout
259
+ - spec/integration/command/sort/sort_1.stdout
260
+ - spec/integration/command/sort/sort_0.cmd
261
+ - spec/integration/command/sort/sort_1.cmd
262
+ - spec/integration/command/autonum/autonum_0.stdout
263
+ - spec/integration/command/autonum/autonum_1.stdout
264
+ - spec/integration/command/autonum/autonum_0.cmd
265
+ - spec/integration/command/autonum/autonum_1.cmd
266
+ - spec/integration/command/summarize/summarize_0.stdout
267
+ - spec/integration/command/summarize/summarize_0.cmd
268
+ - spec/integration/semantics/test_rank.alf
269
+ - spec/integration/semantics/test_minus.alf
270
+ - spec/integration/semantics/test_project.alf
271
+ - spec/integration/semantics/test_join.alf
272
+ - spec/integration/test_semantics.rb
273
+ - spec/integration/test_command.rb
153
274
  - spec/integration/test_examples.rb
154
- - spec/integration/test_alf_specs.rb
155
- - spec/integration/src/test_minus.alf
156
- - spec/integration/src/test_project.alf
275
+ - spec/integration/__database__/supplies.rash
276
+ - spec/integration/__database__/group.alf
277
+ - spec/integration/__database__/parts.rash
278
+ - spec/integration/__database__/suppliers.rash
157
279
  - spec/integration/test_alf.rb
158
280
  - spec/unit/test_operator.rb
159
281
  - spec/unit/test_relation.rb
160
282
  - spec/unit/relation/test_relops.rb
161
283
  - spec/unit/relation/test_inspect.rb
162
284
  - spec/unit/relation/test_coerce.rb
285
+ - spec/unit/relation/test_to_a.rb
163
286
  - spec/unit/reader/input.rb
164
287
  - spec/unit/reader/test_rash.rb
288
+ - spec/unit/reader/test_initialize.rb
165
289
  - spec/unit/reader/test_alf_file.rb
166
290
  - spec/unit/test_lispy.rb
167
291
  - spec/unit/test_aggregator.rb
168
292
  - spec/unit/environment/examples/suppliers.rash
169
293
  - spec/unit/environment/test_explicit.rb
170
294
  - spec/unit/environment/test_folder.rb
295
+ - spec/unit/test_heading.rb
296
+ - spec/unit/tools/test_parse_commandline_args.rb
297
+ - spec/unit/tools/test_varargs.rb
171
298
  - spec/unit/tools/test_projection_key.rb
172
299
  - spec/unit/tools/test_tools.rb
173
300
  - spec/unit/tools/test_ordering_key.rb
174
301
  - spec/unit/tools/test_tuple_handle.rb
175
- - spec/unit/test_assumptions.rb
176
- - spec/unit/renderer/text/test_cell.rb
177
- - spec/unit/renderer/text/test_table.rb
178
- - spec/unit/renderer/text/test_row.rb
302
+ - spec/unit/text/test_cell.rb
303
+ - spec/unit/text/test_table.rb
304
+ - spec/unit/text/test_row.rb
305
+ - spec/unit/test_environment.rb
306
+ - spec/unit/renderer/test_initialize.rb
307
+ - spec/unit/assumptions/test_scoping.rb
308
+ - spec/unit/assumptions/test_instance_eval.rb
309
+ - spec/unit/assumptions/test_file.rb
179
310
  - spec/unit/test_renderer.rb
180
311
  - spec/unit/operator/test_non_relational.rb
181
312
  - spec/unit/operator/relational/test_join.rb
313
+ - spec/unit/operator/relational/not_matching/test_hash_based.rb
182
314
  - spec/unit/operator/relational/test_extend.rb
183
315
  - spec/unit/operator/relational/test_intersect.rb
316
+ - spec/unit/operator/relational/test_rank.rb
184
317
  - spec/unit/operator/relational/test_summarize.rb
185
318
  - spec/unit/operator/relational/test_rename.rb
186
319
  - spec/unit/operator/relational/join/test_hash_based.rb
@@ -189,6 +322,7 @@ files:
189
322
  - spec/unit/operator/relational/test_minus.rb
190
323
  - spec/unit/operator/relational/test_quota.rb
191
324
  - spec/unit/operator/relational/test_unwrap.rb
325
+ - spec/unit/operator/relational/matching/test_hash_based.rb
192
326
  - spec/unit/operator/relational/test_group.rb
193
327
  - spec/unit/operator/relational/test_union.rb
194
328
  - spec/unit/operator/relational/test_project.rb
@@ -205,11 +339,19 @@ files:
205
339
  - spec/unit/operator/test_command_methods.rb
206
340
  - spec/unit/operator/test_relational.rb
207
341
  - spec/unit/test_reader.rb
342
+ - spec/regression/relation/test_relation_with_date.rb
343
+ - spec/regression/restrict/test_restrict_with_keywords.rb
344
+ - spec/regression/alf_file/test___FILE__.rb
345
+ - spec/regression/alf_file/__FILE__.alf
346
+ - spec/regression/alf_file/suppliers.rash
347
+ - spec/regression/heading/test_heading_with_date.rb
348
+ - spec/regression/lispy/test_compile.rb
349
+ - tasks/integration_test.rake
350
+ - tasks/regression_test.rake
208
351
  - tasks/debug_mail.rake
209
352
  - tasks/yard.rake
210
353
  - tasks/clean.rake
211
354
  - tasks/gem.rake
212
- - tasks/spec_test.rake
213
355
  - tasks/unit_test.rake
214
356
  - tasks/debug_mail.txt
215
357
  - Rakefile
@@ -236,7 +378,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
236
378
  version: '0'
237
379
  segments:
238
380
  - 0
239
- hash: 845446095
381
+ hash: 902830703
240
382
  required_rubygems_version: !ruby/object:Gem::Requirement
241
383
  none: false
242
384
  requirements:
@@ -245,7 +387,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
387
  version: '0'
246
388
  segments:
247
389
  - 0
248
- hash: 845446095
390
+ hash: 902830703
249
391
  requirements: []
250
392
  rubyforge_project:
251
393
  rubygems_version: 1.8.5
@@ -254,37 +396,147 @@ specification_version: 3
254
396
  summary: Relational Algebra at your fingertips
255
397
  test_files:
256
398
  - spec/spec_helper.rb
399
+ - spec/shared/a_value.rb
400
+ - spec/shared/an_operator_class.rb
401
+ - spec/integration/command/rename/rename_0.stdout
402
+ - spec/integration/command/rename/rename_0.cmd
403
+ - spec/integration/command/ungroup/ungroup_0.cmd
404
+ - spec/integration/command/ungroup/ungroup_0.stdout
405
+ - spec/integration/command/compact/compact_0.stdout
406
+ - spec/integration/command/compact/compact_0.cmd
407
+ - spec/integration/command/union/union_0.stdout
408
+ - spec/integration/command/union/union_0.cmd
409
+ - spec/integration/command/restrict/restrict_0.stdout
410
+ - spec/integration/command/restrict/restrict_0.cmd
411
+ - spec/integration/command/restrict/restrict_1.cmd
412
+ - spec/integration/command/restrict/restrict_1.stdout
413
+ - spec/integration/command/extend/extend_0.cmd
414
+ - spec/integration/command/extend/extend_0.stdout
415
+ - spec/integration/command/join/join_0.stdout
416
+ - spec/integration/command/join/join_0.cmd
417
+ - spec/integration/command/quota/quota_0.stdout
418
+ - spec/integration/command/quota/quota_0.cmd
419
+ - spec/integration/command/wrap/wrap_0.stdout
420
+ - spec/integration/command/wrap/wrap_0.cmd
421
+ - spec/integration/command/group/group_1.stdout
422
+ - spec/integration/command/group/group_1.cmd
423
+ - spec/integration/command/group/group_0.stdout
424
+ - spec/integration/command/group/group_0.cmd
425
+ - spec/integration/command/minus/minus_0.cmd
426
+ - spec/integration/command/minus/minus_0.stdout
427
+ - spec/integration/command/not-matching/not-matching_0.cmd
428
+ - spec/integration/command/not-matching/not-matching_0.stdout
429
+ - spec/integration/command/alf/alf_e.cmd
430
+ - spec/integration/command/alf/alf_implicit_exec.stdout
431
+ - spec/integration/command/alf/rel.rash
432
+ - spec/integration/command/alf/alf_yaml.cmd
433
+ - spec/integration/command/alf/alf_version.stdout
434
+ - spec/integration/command/alf/alf_env.stdout
435
+ - spec/integration/command/alf/alf_r.stdout
436
+ - spec/integration/command/alf/alf_env.cmd
437
+ - spec/integration/command/alf/alf_version.cmd
438
+ - spec/integration/command/alf/alf_yaml.stdout
439
+ - spec/integration/command/alf/alf_e.stdout
440
+ - spec/integration/command/alf/alf_implicit_exec.cmd
441
+ - spec/integration/command/alf/alf_implicit.alf
442
+ - spec/integration/command/alf/alf_r.cmd
443
+ - spec/integration/command/unwrap/unwrap_0.cmd
444
+ - spec/integration/command/unwrap/unwrap_0.stdout
445
+ - spec/integration/command/clip/clip_1.cmd
446
+ - spec/integration/command/clip/clip_1.stdout
447
+ - spec/integration/command/clip/clip_0.cmd
448
+ - spec/integration/command/clip/clip_0.stdout
449
+ - spec/integration/command/project/project_1.stdout
450
+ - spec/integration/command/project/project_1.cmd
451
+ - spec/integration/command/project/project_0.cmd
452
+ - spec/integration/command/project/project_0.stdout
453
+ - spec/integration/command/matching/matching_0.stdout
454
+ - spec/integration/command/matching/matching_0.cmd
455
+ - spec/integration/command/defaults/defaults_1.stdout
456
+ - spec/integration/command/defaults/defaults_0.stdout
457
+ - spec/integration/command/defaults/defaults_1.cmd
458
+ - spec/integration/command/defaults/defaults_0.cmd
459
+ - spec/integration/command/intersect/intersect_0.cmd
460
+ - spec/integration/command/intersect/intersect_0.stdout
461
+ - spec/integration/command/show/show_base.stdout
462
+ - spec/integration/command/show/show_yaml.cmd
463
+ - spec/integration/command/show/show_yaml.stdout
464
+ - spec/integration/command/show/show_rash.cmd
465
+ - spec/integration/command/show/show_conflictual.stdout
466
+ - spec/integration/command/show/show_rash_2.cmd
467
+ - spec/integration/command/show/show_rash.stdout
468
+ - spec/integration/command/show/show_base.cmd
469
+ - spec/integration/command/show/show_rash_2.stdout
470
+ - spec/integration/command/show/show_conflictual.cmd
471
+ - spec/integration/command/rank/rank_5.stdout
472
+ - spec/integration/command/rank/rank_2.cmd
473
+ - spec/integration/command/rank/rank_5.cmd
474
+ - spec/integration/command/rank/rank_1.stdout
475
+ - spec/integration/command/rank/rank_3.cmd
476
+ - spec/integration/command/rank/rank_3.stdout
477
+ - spec/integration/command/rank/rank_1.cmd
478
+ - spec/integration/command/rank/rank_2.stdout
479
+ - spec/integration/command/rank/rank_4.cmd
480
+ - spec/integration/command/rank/rank_4.stdout
481
+ - spec/integration/command/sort/sort_0.stdout
482
+ - spec/integration/command/sort/sort_1.stdout
483
+ - spec/integration/command/sort/sort_0.cmd
484
+ - spec/integration/command/sort/sort_1.cmd
485
+ - spec/integration/command/autonum/autonum_0.stdout
486
+ - spec/integration/command/autonum/autonum_1.stdout
487
+ - spec/integration/command/autonum/autonum_0.cmd
488
+ - spec/integration/command/autonum/autonum_1.cmd
489
+ - spec/integration/command/summarize/summarize_0.stdout
490
+ - spec/integration/command/summarize/summarize_0.cmd
491
+ - spec/integration/semantics/test_rank.alf
492
+ - spec/integration/semantics/test_minus.alf
493
+ - spec/integration/semantics/test_project.alf
494
+ - spec/integration/semantics/test_join.alf
495
+ - spec/integration/test_semantics.rb
496
+ - spec/integration/test_command.rb
257
497
  - spec/integration/test_examples.rb
258
- - spec/integration/test_alf_specs.rb
259
- - spec/integration/src/test_minus.alf
260
- - spec/integration/src/test_project.alf
498
+ - spec/integration/__database__/supplies.rash
499
+ - spec/integration/__database__/group.alf
500
+ - spec/integration/__database__/parts.rash
501
+ - spec/integration/__database__/suppliers.rash
261
502
  - spec/integration/test_alf.rb
262
503
  - spec/unit/test_operator.rb
263
504
  - spec/unit/test_relation.rb
264
505
  - spec/unit/relation/test_relops.rb
265
506
  - spec/unit/relation/test_inspect.rb
266
507
  - spec/unit/relation/test_coerce.rb
508
+ - spec/unit/relation/test_to_a.rb
267
509
  - spec/unit/reader/input.rb
268
510
  - spec/unit/reader/test_rash.rb
511
+ - spec/unit/reader/test_initialize.rb
269
512
  - spec/unit/reader/test_alf_file.rb
270
513
  - spec/unit/test_lispy.rb
271
514
  - spec/unit/test_aggregator.rb
272
515
  - spec/unit/environment/examples/suppliers.rash
273
516
  - spec/unit/environment/test_explicit.rb
274
517
  - spec/unit/environment/test_folder.rb
518
+ - spec/unit/test_heading.rb
519
+ - spec/unit/tools/test_parse_commandline_args.rb
520
+ - spec/unit/tools/test_varargs.rb
275
521
  - spec/unit/tools/test_projection_key.rb
276
522
  - spec/unit/tools/test_tools.rb
277
523
  - spec/unit/tools/test_ordering_key.rb
278
524
  - spec/unit/tools/test_tuple_handle.rb
279
- - spec/unit/test_assumptions.rb
280
- - spec/unit/renderer/text/test_cell.rb
281
- - spec/unit/renderer/text/test_table.rb
282
- - spec/unit/renderer/text/test_row.rb
525
+ - spec/unit/text/test_cell.rb
526
+ - spec/unit/text/test_table.rb
527
+ - spec/unit/text/test_row.rb
528
+ - spec/unit/test_environment.rb
529
+ - spec/unit/renderer/test_initialize.rb
530
+ - spec/unit/assumptions/test_scoping.rb
531
+ - spec/unit/assumptions/test_instance_eval.rb
532
+ - spec/unit/assumptions/test_file.rb
283
533
  - spec/unit/test_renderer.rb
284
534
  - spec/unit/operator/test_non_relational.rb
285
535
  - spec/unit/operator/relational/test_join.rb
536
+ - spec/unit/operator/relational/not_matching/test_hash_based.rb
286
537
  - spec/unit/operator/relational/test_extend.rb
287
538
  - spec/unit/operator/relational/test_intersect.rb
539
+ - spec/unit/operator/relational/test_rank.rb
288
540
  - spec/unit/operator/relational/test_summarize.rb
289
541
  - spec/unit/operator/relational/test_rename.rb
290
542
  - spec/unit/operator/relational/join/test_hash_based.rb
@@ -293,6 +545,7 @@ test_files:
293
545
  - spec/unit/operator/relational/test_minus.rb
294
546
  - spec/unit/operator/relational/test_quota.rb
295
547
  - spec/unit/operator/relational/test_unwrap.rb
548
+ - spec/unit/operator/relational/matching/test_hash_based.rb
296
549
  - spec/unit/operator/relational/test_group.rb
297
550
  - spec/unit/operator/relational/test_union.rb
298
551
  - spec/unit/operator/relational/test_project.rb
@@ -309,3 +562,10 @@ test_files:
309
562
  - spec/unit/operator/test_command_methods.rb
310
563
  - spec/unit/operator/test_relational.rb
311
564
  - spec/unit/test_reader.rb
565
+ - spec/regression/relation/test_relation_with_date.rb
566
+ - spec/regression/restrict/test_restrict_with_keywords.rb
567
+ - spec/regression/alf_file/test___FILE__.rb
568
+ - spec/regression/alf_file/__FILE__.alf
569
+ - spec/regression/alf_file/suppliers.rash
570
+ - spec/regression/heading/test_heading_with_date.rb
571
+ - spec/regression/lispy/test_compile.rb