|
Package sensei ::
Module sensei_client_lib_test
|
|
1 import random
2 import unittest
3
4 from sensei_client_lib import *
5
31
32
38
40 req = SenseiRequest()
41 req.append_selection(SenseiSelectionRange("year", from_str="2000", to_str="2002", include_lower=True, include_upper=True))
42 sensei_results = self.proxy.doQuery(req)
43 self.assertEqual(4455, sensei_results.numHits, "result is not correct for range selection 1")
44
46 req = SenseiRequest()
47 req.append_selection(SenseiSelectionRange("year", from_str="2000", to_str="2002", include_lower=False, include_upper=True))
48 sensei_results = self.proxy.doQuery(req)
49 self.assertEqual(2907, sensei_results.numHits, "result is not correct for range selection 2")
50
52 req = SenseiRequest()
53 req.append_selection(SenseiSelectionRange("year", from_str="2000", to_str="2002", include_lower=False, include_upper=False))
54 sensei_results = self.proxy.doQuery(req)
55 self.assertEqual(1443, sensei_results.numHits, "result is not correct for range selection 3")
56
57
63
69
71 req = SenseiRequest()
72 req.set_filter(SenseiFilterTerms("tags", values=["leather","moon-roof"], excludes=["hybrid"]))
73 sensei_results = self.proxy.doQuery(req)
74 self.assertEqual(5777, sensei_results.numHits, "result is not correct for terms filter")
75
81
83 req = SenseiRequest()
84 req.set_filter(SenseiFilterAND([SenseiFilterTerm("tags","mp3"), SenseiFilterTerm("color","red")]))
85 sensei_results = self.proxy.doQuery(req)
86 self.assertEqual(439, sensei_results.numHits, "result is not correct for and filter")
87
89 req = SenseiRequest()
90 req.set_filter(SenseiFilterOR([SenseiFilterTerm("color","blue"), SenseiFilterTerm("color","red")]))
91 sensei_results = self.proxy.doQuery(req)
92 self.assertEqual(3264, sensei_results.numHits, "result is not correct for and filter")
93
95 req = SenseiRequest()
96 req.set_filter(SenseiFilterBool(must_filter=SenseiFilterTerm("color","red"), must_not_filter=SenseiFilterTerm("category","compact"), should_filter=[SenseiFilterTerm("color","red"), SenseiFilterTerm("color","green")]))
97 sensei_results = self.proxy.doQuery(req)
98 self.assertEqual(1652, sensei_results.numHits, "result is not correct for and filter")
99
100
101 if __name__ == '__main__':
102 unittest.main()
103