/[hyperestraier_wrappers]/0.0.13/test/ruby.rb
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /0.0.13/test/ruby.rb

Parent Directory Parent Directory | Revision Log Revision Log


Revision 14 - (show annotations)
Fri Sep 9 15:26:39 2005 UTC (14 years, 4 months ago) by dpavlin
File size: 5046 byte(s)
import of 0.0.13
1 #!/usr/bin/env ruby
2
3 require 'test/unit'
4 require 'HyperEstraier'
5
6 class TC_Condition < Test::Unit::TestCase
7 def setup
8 @cond = HyperEstraier::Condition.new()
9 end
10
11 def test_const_vars
12 HyperEstraier::Condition::CONDSURE
13 HyperEstraier::Condition::CONDUSU
14 HyperEstraier::Condition::CONDFAST
15 HyperEstraier::Condition::CONDAGIT
16 HyperEstraier::Condition::CONDNOIDF
17 HyperEstraier::Condition::CONDSIMPLE
18 end
19
20 def test_set_phrase
21 @cond.set_phrase("foo")
22 end
23
24 def test_add_attr
25 @cond.add_attr('@uri ISTREW .txt')
26 end
27
28 def test_set_order
29 @cond.set_order('@id')
30 end
31
32 def test_set_max
33 @cond.set_max(30)
34 end
35
36 def test_set_options
37 @cond.set_options(HyperEstraier::Condition::CONDSURE)
38 end
39 end
40
41 class TC_Document < Test::Unit::TestCase
42 def setup
43 @doc = HyperEstraier::Document.new()
44 end
45
46 def test_add_attr
47 @doc.add_attr('@uri', 'http://tokuhirom.dnsalias.org/')
48 end
49
50 def test_add_text
51 @doc.add_text('Hyper Estraier')
52 @doc.add_text('QDBM')
53 end
54
55 def test_add_hidden_text
56 @doc.add_hidden_text('a full-text search system for communities')
57 end
58
59 def test_id
60 @doc.id()
61 end
62
63 def test_attr_names
64 @doc.attr_names()
65 end
66
67 def test_attr
68 #assert_equal(@doc.attr('@foo'), nil)
69 @doc.add_attr('@foo', 'bar')
70 assert_equal(@doc.attr('@foo'), 'bar')
71 end
72
73 def test_texts
74 assert_equal(@doc.texts().to_a, [])
75 @doc.add_text('foo')
76 @doc.add_text('bar')
77 assert_equal(@doc.texts().to_a, ['foo', 'bar'])
78 end
79
80 =begin
81 def test_cat_texts
82 assert_equal(@doc.cat_texts(), '')
83 @doc.add_text('foo')
84 @doc.add_text('bar')
85 assert_equal(@doc.cat_texts(), 'foobar')
86 end
87 =end
88
89 def test_dump_draft
90 @doc.add_text('foo')
91 @doc.add_text('bar')
92 assert_equal(@doc.dump_draft(), "\nfoo\nbar\n")
93 end
94
95 def test_make_snippet
96 @doc.add_text('foo')
97 @doc.add_text('bar')
98 @doc.add_text('baz')
99 assert_equal(
100 @doc.make_snippet(['foo', 'baz'], 30, 30, 20),
101 "foo\tfoo\n bar \nbaz\tbaz\n\n")
102 end
103
104 def test_scan_words
105 @doc.add_text('foo')
106 assert_equal(@doc.scan_words(['foo']), true)
107 assert_equal(@doc.scan_words(['bar']), false)
108 end
109 end
110
111 class TC_Database < Test::Unit::TestCase
112 def setup
113 @db = HyperEstraier::Database.new()
114 assert_equal(@db.open('casket',
115 HyperEstraier::Database::DBWRITER | HyperEstraier::Database::DBCREAT),
116 true)
117 @doc = HyperEstraier::Document.new()
118 @doc.add_attr('@uri', 'http://www.example.com/')
119 @doc.add_text('foo')
120 assert_equal(@db.put_doc(@doc, 0), true)
121 end
122
123 def test_const_vars
124 HyperEstraier::Database::ERRNOERR
125 HyperEstraier::Database::ERRINVAL
126 HyperEstraier::Database::ERRACCES
127 HyperEstraier::Database::ERRLOCK
128 HyperEstraier::Database::ERRDB
129 HyperEstraier::Database::ERRIO
130 HyperEstraier::Database::ERRNOITEM
131 HyperEstraier::Database::ERRMISC
132 HyperEstraier::Database::DBREADER
133 HyperEstraier::Database::DBWRITER
134 HyperEstraier::Database::DBCREAT
135 HyperEstraier::Database::DBTRUNC
136 HyperEstraier::Database::DBNOLCK
137 HyperEstraier::Database::DBLCKNB
138 HyperEstraier::Database::DBPERFNG
139 HyperEstraier::Database::PDCLEAN
140 HyperEstraier::Database::ODCLEAN
141 HyperEstraier::Database::OPTNOPURGE
142 HyperEstraier::Database::OPTNODBOPT
143 HyperEstraier::Database::GDNOATTR
144 HyperEstraier::Database::GDNOTEXT
145 @db.close
146 end
147
148 def test_err_msg
149 HyperEstraier::Database::err_msg(0)
150 @db.close
151 end
152
153 def test_error
154 assert_equal(@db.error(), HyperEstraier::Database::ERRNOERR)
155 @db.close()
156 end
157 def test_fatal
158 assert_equal(@db.fatal(), false)
159 @db.close()
160 end
161
162 def test_flush
163 assert_equal(@db.flush(0), true)
164 @db.close()
165 end
166
167 def test_sync
168 assert_equal(@db.sync(), true)
169 @db.close()
170 end
171
172 def test_optimize
173 assert_equal(@db.optimize(0), true)
174 @db.close()
175 end
176
177 def test_PutDoc
178 doc = HyperEstraier::Document.new()
179 doc.add_attr('@uri', 'http://www.example.com/')
180 doc.add_text('foo')
181 assert_equal(@db.put_doc(doc, 0), true)
182 @db.close()
183 end
184
185 def test_OutDoc
186 assert_equal(@db.out_doc(@doc.id(), 0), true)
187 @db.close()
188 end
189
190 def test_GetDoc
191 assert_not_equal(@db.get_doc(@doc.id(), 0), nil)
192 @db.close()
193 end
194
195 def test_UriToID
196 assert_equal(@db.uri_to_id('http://www.example.com/'), @doc.id())
197 @db.close()
198 end
199
200 def test_EtchDoc
201 assert_equal(@db.etch_doc(@doc, 10).keys(), ['foo'])
202 @db.close()
203 end
204
205 def test_IterInit
206 assert_equal(@db.iter_init(), true)
207 @db.close()
208 end
209
210 def test_IterNext
211 assert_equal(@db.iter_init(), true)
212 @db.iter_next()
213 @db.close()
214 end
215
216 def test_Name
217 assert_equal(@db.name(), 'casket')
218 @db.close()
219 end
220
221 def test_DocNum
222 assert_equal(@db.doc_num(), 1)
223 @db.close()
224 end
225
226 def test_WordNum
227 assert_equal(@db.word_num(), 1)
228 @db.close()
229 end
230
231 def test_Size
232 assert(@db.size()>0)
233 @db.close()
234 end
235
236 def test_Search
237 cond = HyperEstraier::Condition.new()
238 cond.set_phrase('foo')
239 assert_not_equal(@db.search(cond, 0).to_a.length, 0)
240 @db.close()
241 end
242
243 def test_SetCacheSize
244 @db.set_cache_size(100, 100, 100)
245 @db.close()
246 end
247
248 def test_SetSpecialCache
249 @db.set_special_cache('hoge', 100)
250 @db.close()
251 end
252 end

  ViewVC Help
Powered by ViewVC 1.1.26