summaryrefslogtreecommitdiff
path: root/searx/tests/test_results.py
diff options
context:
space:
mode:
authorAdam Tauber <asciimoo@gmail.com>2015-10-03 17:26:07 +0200
committerAdam Tauber <asciimoo@gmail.com>2015-10-03 17:26:07 +0200
commitb6c3cb0bdd020a459d0ef5c21d1303ed0148cc0c (patch)
tree4b0c0ae035b7ff467c8ef7d729aa589de38e9f62 /searx/tests/test_results.py
parent0ad272c5cb81a9c69008aa86a1f29cd642ddf4ff (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.py41
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)