lingo 1.8.1 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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