diff options
| author | Adam Tauber <asciimoo@gmail.com> | 2015-10-03 17:26:07 +0200 |
|---|---|---|
| committer | Adam Tauber <asciimoo@gmail.com> | 2015-10-03 17:26:07 +0200 |
| commit | b6c3cb0bdd020a459d0ef5c21d1303ed0148cc0c (patch) | |
| tree | 4b0c0ae035b7ff467c8ef7d729aa589de38e9f62 /searx/tests/test_results.py | |
| parent | 0ad272c5cb81a9c69008aa86a1f29cd642ddf4ff (diff) | |
[enh][mod] result handling refactor
Several changes has been made:
- Parallel result merge
- Scoring algorithm slightly changed (see result_score())
- Proper Thread locking on global data manipulation
Diffstat (limited to 'searx/tests/test_results.py')
| -rw-r--r-- | searx/tests/test_results.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/searx/tests/test_results.py b/searx/tests/test_results.py new file mode 100644 index 000000000..274b5b37a --- /dev/null +++ b/searx/tests/test_results.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- + +from searx.results import ResultContainer +from searx.testing import SearxTestCase + + +def fake_result(url='https://aa.bb/cc?dd=ee#ff', + title='aaa', + content='bbb', + engine='wikipedia', **kwargs): + result = {'url': url, + 'title': title, + 'content': content, + 'engine': engine} + result.update(kwargs) + return result + + +# TODO +class ResultContainerTestCase(SearxTestCase): + + def test_empty(self): + c = ResultContainer() + self.assertEqual(c.get_ordered_results(), []) + + def test_one_result(self): + c = ResultContainer() + c.extend('wikipedia', [fake_result()]) + self.assertEqual(c.results_length(), 1) + + def test_one_suggestion(self): + c = ResultContainer() + c.extend('wikipedia', [fake_result(suggestion=True)]) + self.assertEqual(len(c.suggestions), 1) + self.assertEqual(c.results_length(), 0) + + def test_result_merge(self): + c = ResultContainer() + c.extend('wikipedia', [fake_result()]) + c.extend('wikidata', [fake_result(), fake_result(url='https://example.com/')]) + self.assertEqual(c.results_length(), 2) |