lingo 1.8.1 → 1.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. data/ChangeLog +23 -5
  2. data/README +1 -1
  3. data/Rakefile +5 -7
  4. data/TODO +2 -0
  5. data/bin/lingo +5 -1
  6. data/de.lang +1 -1
  7. data/en/lingo-syn.txt +0 -0
  8. data/en.lang +2 -1
  9. data/lib/lingo/attendee/abbreviator.rb +8 -9
  10. data/lib/lingo/attendee/debugger.rb +5 -4
  11. data/lib/lingo/attendee/decomposer.rb +8 -3
  12. data/lib/lingo/attendee/dehyphenizer.rb +19 -63
  13. data/lib/lingo/attendee/formatter.rb +1 -1
  14. data/lib/lingo/attendee/multi_worder.rb +67 -155
  15. data/lib/lingo/attendee/noneword_filter.rb +16 -9
  16. data/lib/lingo/attendee/object_filter.rb +1 -1
  17. data/lib/lingo/attendee/sequencer.rb +32 -63
  18. data/lib/lingo/attendee/stemmer/porter.rb +343 -0
  19. data/{info/gpl-hdr.txt → lib/lingo/attendee/stemmer.rb} +33 -0
  20. data/lib/lingo/attendee/synonymer.rb +10 -9
  21. data/lib/lingo/attendee/text_reader.rb +102 -76
  22. data/lib/lingo/attendee/text_writer.rb +23 -26
  23. data/lib/lingo/attendee/tokenizer.rb +13 -27
  24. data/lib/lingo/attendee/variator.rb +26 -66
  25. data/lib/lingo/attendee/vector_filter.rb +42 -43
  26. data/lib/lingo/attendee/word_searcher.rb +6 -7
  27. data/lib/lingo/attendee.rb +25 -7
  28. data/lib/lingo/buffered_attendee.rb +36 -10
  29. data/lib/lingo/cachable.rb +8 -8
  30. data/lib/lingo/config.rb +5 -6
  31. data/lib/lingo/ctl.rb +2 -3
  32. data/lib/lingo/database/crypter.rb +9 -26
  33. data/lib/lingo/database/gdbm_store.rb +3 -5
  34. data/lib/lingo/database/libcdb_store.rb +4 -6
  35. data/lib/lingo/database/sdbm_store.rb +11 -6
  36. data/lib/lingo/database/show_progress.rb +3 -43
  37. data/lib/lingo/database/source/key_value.rb +2 -6
  38. data/lib/lingo/database/source/multi_key.rb +3 -5
  39. data/lib/lingo/database/source/multi_value.rb +2 -6
  40. data/lib/lingo/database/source/single_word.rb +4 -6
  41. data/lib/lingo/database/source/word_class.rb +4 -10
  42. data/lib/lingo/database/source.rb +20 -18
  43. data/lib/lingo/database.rb +84 -59
  44. data/lib/lingo/error.rb +57 -1
  45. data/lib/lingo/language/dictionary.rb +21 -18
  46. data/lib/lingo/language/grammar.rb +40 -49
  47. data/lib/lingo/language/lexical.rb +6 -6
  48. data/lib/lingo/language/lexical_hash.rb +6 -0
  49. data/lib/lingo/language/word.rb +32 -15
  50. data/lib/lingo/language/word_form.rb +1 -1
  51. data/lib/lingo/language.rb +14 -25
  52. data/lib/lingo/reportable.rb +12 -10
  53. data/lib/lingo/show_progress.rb +81 -0
  54. data/lib/lingo/version.rb +1 -1
  55. data/lib/lingo.rb +63 -24
  56. data/lingo-call.cfg +6 -10
  57. data/lingo.cfg +60 -44
  58. data/lir.cfg +42 -41
  59. data/test/attendee/ts_abbreviator.rb +3 -5
  60. data/test/attendee/ts_decomposer.rb +3 -5
  61. data/test/attendee/ts_multi_worder.rb +87 -145
  62. data/test/attendee/ts_noneword_filter.rb +5 -3
  63. data/test/attendee/ts_object_filter.rb +5 -3
  64. data/test/attendee/ts_sequencer.rb +3 -5
  65. data/test/attendee/ts_stemmer.rb +309 -0
  66. data/test/attendee/ts_synonymer.rb +15 -11
  67. data/test/attendee/ts_text_reader.rb +12 -15
  68. data/test/attendee/ts_text_writer.rb +24 -29
  69. data/test/attendee/ts_tokenizer.rb +9 -7
  70. data/test/attendee/ts_variator.rb +4 -4
  71. data/test/attendee/ts_vector_filter.rb +24 -16
  72. data/test/attendee/ts_word_searcher.rb +20 -36
  73. data/test/{lir.csv → lir.vec} +0 -0
  74. data/test/ref/artikel.vec +943 -943
  75. data/test/ref/artikel.ven +943 -943
  76. data/test/ref/lir.non +201 -201
  77. data/test/ref/lir.seq +178 -178
  78. data/test/ref/lir.syn +49 -49
  79. data/test/ref/lir.vec +329 -0
  80. data/test/test_helper.rb +20 -36
  81. data/test/ts_database.rb +10 -10
  82. data/test/ts_language.rb +279 -319
  83. metadata +93 -104
  84. data/info/Objekte.png +0 -0
  85. data/info/Typen.png +0 -0
  86. data/info/database.png +0 -0
  87. data/info/db_small.png +0 -0
  88. data/info/download.png +0 -0
  89. data/info/kerze.png +0 -0
  90. data/info/language.png +0 -0
  91. data/info/lingo.png +0 -0
  92. data/info/logo.png +0 -0
  93. data/info/meeting.png +0 -0
  94. data/info/types.png +0 -0
  95. data/lingo-all.cfg +0 -89
  96. data/porter/stem.cfg +0 -311
  97. data/porter/stem.rb +0 -150
  98. data/test/ref/lir.csv +0 -329
  99. data/test.cfg +0 -79
@@ -5,7 +5,7 @@ require_relative '../test_helper'
5
5
  class TestAttendeeMultiWorder < AttendeeTestCase
6
6
 
7
7
  def test_basic
8
- @input = [
8
+ meet({ 'source' => 'tst-mul' }, [
9
9
  ai('FILE|mul.txt'),
10
10
  # John_F_._Kennedy
11
11
  wd('John|IDF', 'john|e'), wd('F|?'), tk('.|PUNC'), wd('Kennedy|IDF', 'kennedy|e'),
@@ -26,8 +26,7 @@ class TestAttendeeMultiWorder < AttendeeTestCase
26
26
  # Satzende
27
27
  tk('.|PUNC'),
28
28
  ai('EOF|mul.txt')
29
- ]
30
- @expect = [
29
+ ], [
31
30
  ai('FILE|mul.txt'),
32
31
  # John_F_._Kennedy
33
32
  wd('John F. Kennedy|MUL', 'john f. kennedy|m'),
@@ -55,330 +54,273 @@ class TestAttendeeMultiWorder < AttendeeTestCase
55
54
  # Satzende
56
55
  tk('.|PUNC'),
57
56
  ai('EOF|mul.txt')
58
- ]
59
- meet({'source'=>'tst-mul'})
57
+ ])
60
58
  end
61
59
 
62
60
  def test_multiple_prefix
63
- @input = [
61
+ meet({ 'source' => 'tst-mul' }, [
64
62
  ai('FILE|mul.txt'),
65
63
  wd('Abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), tk('.|PUNC'),
66
64
  ai('EOF|mul.txt')
67
- ]
68
- @expect = [
65
+ ], [
69
66
  ai('FILE|mul.txt'),
70
67
  wd('Abelsches Schema|MUL', 'abelsches schema|m'),
71
68
  wd('Abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), tk('.|PUNC'),
72
69
  ai('EOF|mul.txt')
73
- ]
74
- meet({'source'=>'tst-mul'})
70
+ ])
75
71
 
76
- @input = [
72
+ meet({ 'source' => 'tst-mul' }, [
77
73
  ai('FILE|mul.txt'),
78
74
  wd('Tolles|IDF', 'toll|a'), wd('abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), tk('.|PUNC'),
79
75
  ai('EOF|mul.txt')
80
- ]
81
- @expect = [
76
+ ], [
82
77
  ai('FILE|mul.txt'),
83
78
  wd('Tolles abelsches Schema|MUL', 'tolles abelsches schema|m'),
84
79
  wd('Tolles|IDF', 'toll|a'), wd('abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), tk('.|PUNC'),
85
80
  ai('EOF|mul.txt')
86
- ]
87
- meet({'source'=>'tst-mul'})
81
+ ])
88
82
 
89
- @input = [
83
+ meet({ 'source' => 'tst-mul' }, [
90
84
  ai('FILE|mul.txt'),
91
85
  wd('Super|IDF', 'super|a'), wd('tolles|IDF', 'toll|a'), wd('abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), tk('.|PUNC'),
92
86
  ai('EOF|mul.txt')
93
- ]
94
- @expect = [
87
+ ], [
95
88
  ai('FILE|mul.txt'),
96
89
  wd('Super tolles abelsches Schema|MUL', 'super tolles abelsches schema|m'),
97
90
  wd('Super|IDF', 'super|a'), wd('tolles|IDF', 'toll|a'), wd('abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), tk('.|PUNC'),
98
91
  ai('EOF|mul.txt')
99
- ]
100
- meet({'source'=>'tst-mul'})
92
+ ])
101
93
 
102
- @input = [
94
+ meet({ 'source' => 'tst-mul' }, [
103
95
  ai('FILE|mul.txt'),
104
96
  wd('Extra|IDF', 'extra|a'), wd('super|IDF', 'super|a'), wd('tolles|IDF', 'toll|a'), wd('abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), tk('.|PUNC'),
105
97
  ai('EOF|mul.txt')
106
- ]
107
- @expect = [
98
+ ], [
108
99
  ai('FILE|mul.txt'),
109
100
  wd('Extra super tolles abelsches Schema|MUL', 'extra super tolles abelsches schema|m'),
110
101
  wd('Extra|IDF', 'extra|a'), wd('super|IDF', 'super|a'), wd('tolles|IDF', 'toll|a'), wd('abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), tk('.|PUNC'),
111
102
  ai('EOF|mul.txt')
112
- ]
113
- meet({'source'=>'tst-mul'})
103
+ ])
114
104
  end
115
105
 
116
106
  def test_multiple_suffix
117
- @input = [
107
+ meet({ 'source' => 'tst-mul' }, [
118
108
  ai('FILE|mul.txt'),
119
109
  wd('Abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), tk('.|PUNC'),
120
110
  ai('EOF|mul.txt')
121
- ]
122
- @expect = [
111
+ ], [
123
112
  ai('FILE|mul.txt'),
124
113
  wd('Abelsches Schema|MUL', 'abelsches schema|m'),
125
114
  wd('Abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), tk('.|PUNC'),
126
115
  ai('EOF|mul.txt')
127
- ]
128
- meet({'source'=>'tst-mul'})
116
+ ])
129
117
 
130
- @input = [
118
+ meet({ 'source' => 'tst-mul' }, [
131
119
  ai('FILE|mul.txt'),
132
120
  wd('Abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), wd('toll|IDF', 'toll|a'), tk('.|PUNC'),
133
121
  ai('EOF|mul.txt')
134
- ]
135
- @expect = [
122
+ ], [
136
123
  ai('FILE|mul.txt'),
137
124
  wd('Abelsches Schema toll|MUL', 'abelsches schema toll|m'),
138
125
  wd('Abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), wd('toll|IDF', 'toll|a'), tk('.|PUNC'),
139
126
  ai('EOF|mul.txt')
140
- ]
141
- meet({'source'=>'tst-mul'})
127
+ ])
142
128
 
143
- @input = [
129
+ meet({ 'source' => 'tst-mul' }, [
144
130
  ai('FILE|mul.txt'),
145
131
  wd('Abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), wd('toll|IDF', 'toll|a'), wd('super|IDF', 'super|a'), tk('.|PUNC'),
146
132
  ai('EOF|mul.txt')
147
- ]
148
- @expect = [
133
+ ], [
149
134
  ai('FILE|mul.txt'),
150
135
  wd('Abelsches Schema toll super|MUL', 'abelsches schema toll super|m'),
151
136
  wd('Abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), wd('toll|IDF', 'toll|a'), wd('super|IDF', 'super|a'), tk('.|PUNC'),
152
137
  ai('EOF|mul.txt')
153
- ]
154
- meet({'source'=>'tst-mul'})
138
+ ])
155
139
 
156
- @input = [
140
+ meet({ 'source' => 'tst-mul' }, [
157
141
  ai('FILE|mul.txt'),
158
142
  wd('Abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), wd('toll|IDF', 'toll|a'), wd('super|IDF', 'super|a'), wd('extra|IDF', 'extra|a'), tk('.|PUNC'),
159
143
  ai('EOF|mul.txt')
160
- ]
161
- @expect = [
144
+ ], [
162
145
  ai('FILE|mul.txt'),
163
146
  wd('Abelsches Schema toll super extra|MUL', 'abelsches schema toll super extra|m'),
164
147
  wd('Abelsches|IDF', 'abelsch|a'), wd('Schema|IDF', 'schema|s'), wd('toll|IDF', 'toll|a'), wd('super|IDF', 'super|a'), wd('extra|IDF', 'extra|a'), tk('.|PUNC'),
165
148
  ai('EOF|mul.txt')
166
- ]
167
- meet({'source'=>'tst-mul'})
149
+ ])
168
150
  end
169
151
 
170
152
  def test_ending_count
171
- @input = [
153
+ meet({ 'source' => 'tst-mul' }, input = [
172
154
  ai('FILE|mul.txt'),
173
155
  wd('John|IDF', 'john|e'), wd('F|?'), tk('.|PUNC'), wd('Kennedy|IDF', 'kennedy|e'),
174
156
  wd('war|IDF', 'war|w'), wd('einmal|IDF', 'einmal|w'), wd('Präsident|IDF', 'präsident|s'), tk('.|PUNC'),
175
157
  ai('EOF|mul.txt')
176
- ]
177
- @expect = [
158
+ ], [
178
159
  ai('FILE|mul.txt'),
179
160
  wd('John F. Kennedy|MUL', 'john f. kennedy|m'),
180
161
  wd('John|IDF', 'john|e'), wd('F|MU?'), wd('Kennedy|IDF', 'kennedy|e'),
181
162
  wd('war|IDF', 'war|w'), wd('einmal|IDF', 'einmal|w'), wd('Präsident|IDF', 'präsident|s'), tk('.|PUNC'),
182
163
  ai('EOF|mul.txt')
183
- ]
184
- meet({'source'=>'tst-mul'})
164
+ ])
185
165
 
186
- #
187
- @input.delete_at(-3)
188
- @expect = [
166
+ input.delete_at(-3)
167
+ meet({ 'source' => 'tst-mul' }, input, [
189
168
  ai('FILE|mul.txt'),
190
169
  wd('John F. Kennedy|MUL', 'john f. kennedy|m'),
191
170
  wd('John|IDF', 'john|e'), wd('F|MU?'), wd('Kennedy|IDF', 'kennedy|e'),
192
171
  wd('war|IDF', 'war|w'), wd('einmal|IDF', 'einmal|w'), tk('.|PUNC'),
193
172
  ai('EOF|mul.txt')
194
- ]
195
- meet({'source'=>'tst-mul'})
173
+ ])
196
174
 
197
- #
198
- @input.delete_at(-3)
199
- @expect = [
175
+ input.delete_at(-3)
176
+ meet({ 'source' => 'tst-mul' }, input, [
200
177
  ai('FILE|mul.txt'),
201
178
  wd('John F. Kennedy|MUL', 'john f. kennedy|m'),
202
179
  wd('John|IDF', 'john|e'), wd('F|MU?'), wd('Kennedy|IDF', 'kennedy|e'),
203
180
  wd('war|IDF', 'war|w'), tk('.|PUNC'),
204
181
  ai('EOF|mul.txt')
205
- ]
206
- meet({'source'=>'tst-mul'})
182
+ ])
207
183
 
208
- #
209
- @input.delete_at(-3)
210
- @expect = [
184
+ input.delete_at(-3)
185
+ meet({ 'source' => 'tst-mul' }, input, [
211
186
  ai('FILE|mul.txt'),
212
187
  wd('John F. Kennedy|MUL', 'john f. kennedy|m'),
213
188
  wd('John|IDF', 'john|e'), wd('F|MU?'), wd('Kennedy|IDF', 'kennedy|e'),
214
189
  tk('.|PUNC'),
215
190
  ai('EOF|mul.txt')
216
- ]
217
- meet({'source'=>'tst-mul'})
191
+ ])
218
192
  end
219
193
 
220
194
  def test_two_sources_mode_first
221
195
  # in keinen WB enthalten
222
- @input = [
196
+ meet({ 'source' => 'tst-mul,tst-mu2', 'mode' => 'first' }, [
223
197
  wd('intelligente|IDF', 'intelligent|a'), wd('Indexierung|IDF', 'indexierung|s'), ai('EOF|mul.txt')
224
- ]
225
- @expect = [
198
+ ], [
226
199
  wd('intelligente|IDF', 'intelligent|a'), wd('Indexierung|IDF', 'indexierung|s'), ai('EOF|mul.txt')
227
- ]
228
- meet({'source'=>'tst-mul,tst-mu2', 'mode'=>'first'})
200
+ ])
229
201
 
230
202
  # im ersten WB enthalten
231
- @input = [
203
+ meet({ 'source' => 'tst-mul,tst-mu2', 'mode' => 'first' }, [
232
204
  wd('abstrakten|IDF', 'abstrakt|a'), wd('Kunst|IDF', 'kunst|s'), ai('EOF|mul.txt')
233
- ]
234
- @expect = [
205
+ ], [
235
206
  wd('abstrakten Kunst|MUL', 'abstrakte kunst|m'),
236
207
  wd('abstrakten|IDF', 'abstrakt|a'), wd('Kunst|IDF', 'kunst|s'), ai('EOF|mul.txt')
237
- ]
238
- meet({'source'=>'tst-mul,tst-mu2', 'mode'=>'first'})
208
+ ])
239
209
 
240
210
  # im zweiten WB enthalten
241
- @input = [
211
+ meet({ 'source' => 'tst-mul,tst-mu2', 'mode' => 'first' }, [
242
212
  wd('traumatischer|IDF', 'traumatisch|a'), wd('Angelegenheit|IDF', 'angelegenheit|s'), ai('EOF|mul.txt')
243
- ]
244
- @expect = [
213
+ ], [
245
214
  wd('traumatischer Angelegenheit|MUL', 'traumatische angelegenheit|m'),
246
215
  wd('traumatischer|IDF', 'traumatisch|a'), wd('Angelegenheit|IDF', 'angelegenheit|s'), ai('EOF|mul.txt')
247
- ]
248
- meet({'source'=>'tst-mul,tst-mu2', 'mode'=>'first'})
216
+ ])
249
217
 
250
218
  # in beiden WB enthalten
251
- @input = [
219
+ meet({ 'source' => 'tst-mul,tst-mu2', 'mode' => 'first' }, [
252
220
  wd('azyklischen|IDF', 'azyklisch|a'), wd('Bewegungen|IDF', 'bewegung|s'), ai('EOF|mul.txt')
253
- ]
254
- @expect = [
221
+ ], [
255
222
  wd('azyklischen Bewegungen|MUL', 'chaotisches movement|m'),
256
223
  wd('azyklischen|IDF', 'azyklisch|a'), wd('Bewegungen|IDF', 'bewegung|s'), ai('EOF|mul.txt')
257
- ]
258
- meet({'source'=>'tst-mul,tst-mu2', 'mode'=>'first'})
224
+ ])
259
225
  end
260
226
 
261
227
  def test_two_sources_mode_first_flipped
262
228
  # in keinen WB enthalten
263
- @input = [
229
+ meet({ 'source' => 'tst-mu2,tst-mul', 'mode' => 'first' }, [
264
230
  wd('intelligente|IDF', 'intelligent|a'), wd('Indexierung|IDF', 'indexierung|s'), ai('EOF|mul.txt')
265
- ]
266
- @expect = [
231
+ ], [
267
232
  wd('intelligente|IDF', 'intelligent|a'), wd('Indexierung|IDF', 'indexierung|s'), ai('EOF|mul.txt')
268
- ]
269
- meet({'source'=>'tst-mu2,tst-mul', 'mode'=>'first'})
233
+ ])
270
234
 
271
235
  # im ersten WB enthalten
272
- @input = [
236
+ meet({ 'source' => 'tst-mu2,tst-mul', 'mode' => 'first' }, [
273
237
  wd('abstrakten|IDF', 'abstrakt|a'), wd('Kunst|IDF', 'kunst|s'), ai('EOF|mul.txt')
274
- ]
275
- @expect = [
238
+ ], [
276
239
  wd('abstrakten Kunst|MUL', 'abstrakte kunst|m'),
277
240
  wd('abstrakten|IDF', 'abstrakt|a'), wd('Kunst|IDF', 'kunst|s'), ai('EOF|mul.txt')
278
- ]
279
- meet({'source'=>'tst-mu2,tst-mul', 'mode'=>'first'})
241
+ ])
280
242
 
281
243
  # im zweiten WB enthalten
282
- @input = [
244
+ meet({ 'source' => 'tst-mu2,tst-mul', 'mode' => 'first' }, [
283
245
  wd('traumatischer|IDF', 'traumatisch|a'), wd('Angelegenheit|IDF', 'angelegenheit|s'), ai('EOF|mul.txt')
284
- ]
285
- @expect = [
246
+ ], [
286
247
  wd('traumatischer Angelegenheit|MUL', 'traumatische angelegenheit|m'),
287
248
  wd('traumatischer|IDF', 'traumatisch|a'), wd('Angelegenheit|IDF', 'angelegenheit|s'), ai('EOF|mul.txt')
288
- ]
289
- meet({'source'=>'tst-mu2,tst-mul', 'mode'=>'first'})
249
+ ])
290
250
 
291
251
  # in beiden WB enthalten
292
- @input = [
252
+ meet({ 'source' => 'tst-mu2,tst-mul', 'mode' => 'first' }, [
293
253
  wd('azyklischen|IDF', 'azyklisch|a'), wd('Bewegungen|IDF', 'bewegung|s'), ai('EOF|mul.txt')
294
- ]
295
- @expect = [
254
+ ], [
296
255
  wd('azyklischen Bewegungen|MUL', 'azyklische bewegung|m'),
297
256
  wd('azyklischen|IDF', 'azyklisch|a'), wd('Bewegungen|IDF', 'bewegung|s'), ai('EOF|mul.txt')
298
- ]
299
- meet({'source'=>'tst-mu2,tst-mul', 'mode'=>'first'})
257
+ ])
300
258
  end
301
259
 
302
260
  def test_select_two_sources_mode_all
303
261
  # in keinen WB enthalten
304
- @input = [
262
+ meet({ 'source' => 'tst-mu2,tst-mul', 'mode' => 'all' }, [
305
263
  wd('intelligente|IDF', 'intelligent|a'), wd('Indexierung|IDF', 'indexierung|s'), ai('EOF|mul.txt')
306
- ]
307
- @expect = [
264
+ ], [
308
265
  wd('intelligente|IDF', 'intelligent|a'), wd('Indexierung|IDF', 'indexierung|s'), ai('EOF|mul.txt')
309
- ]
310
- meet({'source'=>'tst-mu2,tst-mul', 'mode'=>'all'})
266
+ ])
311
267
 
312
268
  # im ersten WB enthalten
313
- @input = [
269
+ meet({ 'source' => 'tst-mu2,tst-mul', 'mode' => 'all' }, [
314
270
  wd('abstrakten|IDF', 'abstrakt|a'), wd('Kunst|IDF', 'kunst|s'), ai('EOF|mul.txt')
315
- ]
316
- @expect = [
271
+ ], [
317
272
  wd('abstrakten Kunst|MUL', 'abstrakte kunst|m'),
318
273
  wd('abstrakten|IDF', 'abstrakt|a'), wd('Kunst|IDF', 'kunst|s'), ai('EOF|mul.txt')
319
- ]
320
- meet({'source'=>'tst-mu2,tst-mul', 'mode'=>'all'})
274
+ ])
321
275
 
322
276
  # im zweiten WB enthalten
323
- @input = [
277
+ meet({ 'source' => 'tst-mu2,tst-mul', 'mode' => 'all' }, [
324
278
  wd('traumatischer|IDF', 'traumatisch|a'), wd('Angelegenheit|IDF', 'angelegenheit|s'), ai('EOF|mul.txt')
325
- ]
326
- @expect = [
279
+ ], [
327
280
  wd('traumatischer Angelegenheit|MUL', 'traumatische angelegenheit|m'),
328
281
  wd('traumatischer|IDF', 'traumatisch|a'), wd('Angelegenheit|IDF', 'angelegenheit|s'), ai('EOF|mul.txt')
329
- ]
330
- meet({'source'=>'tst-mu2,tst-mul', 'mode'=>'all'})
282
+ ])
331
283
 
332
284
  # in beiden WB enthalten
333
- @input = [
285
+ meet({ 'source' => 'tst-mu2,tst-mul', 'mode' => 'all' }, [
334
286
  wd('azyklischen|IDF', 'azyklisch|a'), wd('Bewegungen|IDF', 'bewegung|s'), ai('EOF|mul.txt')
335
- ]
336
- @expect = [
287
+ ], [
337
288
  wd('azyklischen Bewegungen|MUL', 'azyklische bewegung|m', 'chaotisches movement|m'),
338
289
  wd('azyklischen|IDF', 'azyklisch|a'), wd('Bewegungen|IDF', 'bewegung|s'), ai('EOF|mul.txt')
339
- ]
340
- meet({'source'=>'tst-mu2,tst-mul', 'mode'=>'all'})
290
+ ])
341
291
  end
342
292
 
343
293
  def test_select_two_sources_mode_def
344
294
  # in keinen WB enthalten
345
- @input = [
295
+ meet({ 'source' => 'tst-mu2,tst-mul' }, [
346
296
  wd('intelligente|IDF', 'intelligent|a'), wd('Indexierung|IDF', 'indexierung|s'), ai('EOF|mul.txt')
347
- ]
348
- @expect = [
297
+ ], [
349
298
  wd('intelligente|IDF', 'intelligent|a'), wd('Indexierung|IDF', 'indexierung|s'), ai('EOF|mul.txt')
350
- ]
351
- meet({'source'=>'tst-mu2,tst-mul'})
299
+ ])
352
300
 
353
301
  # im ersten WB enthalten
354
- @input = [
302
+ meet({ 'source' => 'tst-mu2,tst-mul' }, [
355
303
  wd('abstrakten|IDF', 'abstrakt|a'), wd('Kunst|IDF', 'kunst|s'), ai('EOF|mul.txt')
356
- ]
357
- @expect = [
304
+ ], [
358
305
  wd('abstrakten Kunst|MUL', 'abstrakte kunst|m'),
359
306
  wd('abstrakten|IDF', 'abstrakt|a'), wd('Kunst|IDF', 'kunst|s'), ai('EOF|mul.txt')
360
- ]
361
- meet({'source'=>'tst-mu2,tst-mul'})
307
+ ])
362
308
 
363
309
  # im zweiten WB enthalten
364
- @input = [
310
+ meet({ 'source' => 'tst-mu2,tst-mul' }, [
365
311
  wd('traumatischer|IDF', 'traumatisch|a'), wd('Angelegenheit|IDF', 'angelegenheit|s'), ai('EOF|mul.txt')
366
- ]
367
- @expect = [
312
+ ], [
368
313
  wd('traumatischer Angelegenheit|MUL', 'traumatische angelegenheit|m'),
369
314
  wd('traumatischer|IDF', 'traumatisch|a'), wd('Angelegenheit|IDF', 'angelegenheit|s'), ai('EOF|mul.txt')
370
- ]
371
- meet({'source'=>'tst-mu2,tst-mul'})
315
+ ])
372
316
 
373
317
  # in beiden WB enthalten
374
- @input = [
318
+ meet({ 'source' => 'tst-mu2,tst-mul' }, [
375
319
  wd('azyklischen|IDF', 'azyklisch|a'), wd('Bewegungen|IDF', 'bewegung|s'), ai('EOF|mul.txt')
376
- ]
377
- @expect = [
320
+ ], [
378
321
  wd('azyklischen Bewegungen|MUL', 'azyklische bewegung|m', 'chaotisches movement|m'),
379
322
  wd('azyklischen|IDF', 'azyklisch|a'), wd('Bewegungen|IDF', 'bewegung|s'), ai('EOF|mul.txt')
380
- ]
381
- meet({'source'=>'tst-mu2,tst-mul'})
323
+ ])
382
324
  end
383
325
 
384
326
  end
@@ -5,9 +5,11 @@ require_relative '../test_helper'
5
5
  class TestAttendeeNonewordFilter < AttendeeTestCase
6
6
 
7
7
  def test_basic
8
- @input = [wd('Eins|IDF'), wd('Zwei|?'), wd('Drei|IDF'), wd('Vier|?'), ai('EOF|')]
9
- @expect = ['vier', 'zwei', ai('EOF|')]
10
- meet({})
8
+ meet({}, [
9
+ wd('Eins|IDF'), wd('Zwei|?'), wd('Drei|IDF'), wd('Vier|?'), ai('EOF|')
10
+ ], [
11
+ 'vier', 'zwei', ai('EOF|')
12
+ ])
11
13
  end
12
14
 
13
15
  end
@@ -5,9 +5,11 @@ require_relative '../test_helper'
5
5
  class TestAttendeeObjectFilter < AttendeeTestCase
6
6
 
7
7
  def test_basic
8
- @input = [wd('Eins|IDF'), wd('zwei|?'), wd('Drei|IDF'), wd('vier|?'), ai('EOF|')]
9
- @expect = [wd('Eins|IDF'), wd('Drei|IDF'), ai('EOF|')]
10
- meet({'objects'=>'obj.form =~ /^[A-Z]/'})
8
+ meet({ 'objects' => 'obj.form =~ /^[A-Z]/' }, [
9
+ wd('Eins|IDF'), wd('zwei|?'), wd('Drei|IDF'), wd('vier|?'), ai('EOF|')
10
+ ], [
11
+ wd('Eins|IDF'), wd('Drei|IDF'), ai('EOF|')
12
+ ])
11
13
  end
12
14
 
13
15
  end
@@ -5,7 +5,7 @@ require_relative '../test_helper'
5
5
  class TestAttendeeSequencer < AttendeeTestCase
6
6
 
7
7
  def test_basic
8
- @input = [
8
+ meet({ 'stopper' => 'PUNC,OTHR', 'source' => 'sys-mul' }, [
9
9
  # AS
10
10
  wd('Die|IDF', 'die|w'),
11
11
  wd('helle|IDF', 'hell|a'),
@@ -16,8 +16,7 @@ class TestAttendeeSequencer < AttendeeTestCase
16
16
  wd('schöne|IDF', 'schön|a'),
17
17
  wd('Sonnenuntergang|KOM', 'sonnenuntergang|k', 'sonne|s+', 'untergang|s+'),
18
18
  ai('EOF|')
19
- ]
20
- @expect = [
19
+ ], [
21
20
  # AS
22
21
  wd('Die|IDF', 'die|w'),
23
22
  wd('sonne, hell|SEQ', 'sonne, hell|q'),
@@ -30,8 +29,7 @@ class TestAttendeeSequencer < AttendeeTestCase
30
29
  wd('schöne|IDF', 'schön|a'),
31
30
  wd('Sonnenuntergang|KOM', 'sonnenuntergang|k', 'sonne|s+', 'untergang|s+'),
32
31
  ai('EOF|')
33
- ]
34
- meet({'stopper'=>'PUNC,OTHR', 'source'=>'sys-mul'})
32
+ ])
35
33
  end
36
34
 
37
35
  end