(?P.*?)
')
# --------------------------------------------------------------------
# Unit tests
# --------------------------------------------------------------------
def test_engine(search):
"""
Test a search engine function returned by make_searcher().
"""
for query in ['abc', 'microsoft', 'love', 'pweropieiw', 'addfdae']:
popular = query in ['abc', 'microsoft', 'love', 'run']
for n in [6, 17, 31]:
n1 = len(list(search(query, n)))
if popular:
assert n1 == n
else:
assert n1 <= n
n2 = 0
for item in search(query, n, False):
if item is not None:
n2 += 1
else:
time.sleep(0.01)
if popular:
assert n2 == n
else:
assert n2 <= n
def test():
"""
Unit test main routine.
"""
import inspect
print 'Testing:'
for name in SEARCH_ENGINES:
print ' ' + (name + ':').ljust(20),
test_engine(getattr(inspect.getmodule(test), name))
print 'OK'
if __name__ == '__main__':
test()