Beispiel #1
0
class testAutocomplete(unittest.TestCase):
    def setUp(self):
        self.items = [
            {
                "uid": '1',
                "score": 9,
                "term": u"轻轻地你走了"
            },
            {
                "uid": '2',
                "score": 10,
                "term": u"正如你轻轻地来"
            },
            {
                "uid": '3',
                "score": 8.5,
                "term": u"你挥一挥衣袖,不带走一片云彩"
            },
        ]

        self.a = Autocomplete("scope")
        self.a.del_index()
        for item in self.items:
            self.a.add_item(item)

    def test_search_query2(self):
        results = self.a.search_query(u'轻轻')
        print "test_search_query2", results
        self.assertEqual(len(results), 2)
        self.assertEqual(results[0]['uid'], '2')
        self.assertEqual(results[1]['uid'], '1')

    def test_search_query3(self):
        results = self.a.search_query(u'你 带走')
        print "test_search_query3", results
        self.assertEqual(len(results), 1)

        self.assertEqual(results[0]['uid'], '3')

    def test_search_query4(self):
        results = self.a.search_query(u'你挥一挥衣袖,不带走一片云彩')
        print "test_search_query4", results
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['uid'], '3')

    def test_update_item(self):
        item = {"uid": '1', "score": 13, "term": u"轻轻地你走了"}
        self.a.update_item(item)
        results = self.a.search_query(u'轻轻')
        self.assertEqual(len(results), 2)
        self.assertEqual(results[0]['uid'], '1')
        self.assertEqual(results[1]['uid'], '2')

    def test_del_item(self):
        item = {"uid": '1', "score": 9, "term": u"轻轻地你走了"}
        self.a.del_item(item)
        results = self.a.search_query(u'轻轻')
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['uid'], '2')
Beispiel #2
0
class testAutocomplete(unittest.TestCase):
    def setUp(self):
        self.items = [
            {
                "uid": '1',
                "score": 9,
                "term": u"Alex"
            },
            {
                "uid": '2',
                "score": 10,
                "term": u"Piter"
            },
            {
                "uid": '3',
                "score": 8.5,
                "term": u"Alexey"
            },
        ]

        self.a = Autocomplete("scope")
        self.a.del_index()
        for item in self.items:
            self.a.add_item(item)

    def test_search_query2(self):
        results = self.a.search_query(u'Al')
        self.assertEqual(len(results), 2)
        self.assertEqual(results[0]['uid'], '1')
        self.assertEqual(results[1]['uid'], '3')

    def test_search_query3(self):
        results = self.a.search_query(u'Piter')
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['uid'], '2')

    def test_search_query4(self):
        results = self.a.search_query(u'Alexey')
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['uid'], '3')

    def test_update_item(self):
        item = {"uid": '1', "score": 13, "term": u"Alex"}
        self.a.update_item(item)
        results = self.a.search_query(u'Al')
        self.assertEqual(len(results), 2)
        self.assertEqual(results[0]['uid'], '1')
        self.assertEqual(results[1]['uid'], '3')

    def test_del_item(self):
        item = {"uid": '1', "score": 9, "term": u"Alex"}
        self.a.del_item(item)
        results = self.a.search_query(u'Al')
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['uid'], '3')
Beispiel #3
0
 def test_initilize_from_filename (self):
   testfile = os.path.abspath('test/input.json')
   a=Autocomplete(filename=testfile)
   a.rebuild_index ()
   results=a.search_query (u'你 轻轻')
   self.assertEqual(len(results),2)
   self.assertEqual(results[0]['id'],'1')
   self.assertEqual(results[1]['id'],'2')
Beispiel #4
0
class testAutocomplete (unittest.TestCase):
  def setUp (self):
    self.items=[{"uid":'1', "score":9, "term": u"轻轻地你走了"},
                {"uid":'2', "score":10, "term": u"正如你轻轻地来"},
                {"uid":'3', "score":8.5, "term":u"你挥一挥衣袖,不带走一片云彩"},
                ]

    self.a=Autocomplete("scope")
    self.a.del_index()
    for item in self.items:
      self.a.add_item (item)

  def test_search_query2 (self):
    results=self.a.search_query (u'轻轻')
    print "test_search_query2",results
    self.assertEqual(len(results),2)
    self.assertEqual(results[0]['uid'],'2')
    self.assertEqual(results[1]['uid'],'1')

  def test_search_query3 (self):
    results=self.a.search_query (u'你 带走')
    print "test_search_query3",results
    self.assertEqual(len(results),1)

    self.assertEqual(results[0]['uid'],'3')

  def test_search_query4 (self):
    results=self.a.search_query (u'你挥一挥衣袖,不带走一片云彩')
    print "test_search_query4",results
    self.assertEqual(len(results),1)
    self.assertEqual(results[0]['uid'],'3')

  def test_update_item (self):
    item = {"uid":'1', "score":13, "term": u"轻轻地你走了"}
    self.a.update_item (item)
    results=self.a.search_query (u'轻轻')
    self.assertEqual(len(results),2)
    self.assertEqual(results[0]['uid'],'1')
    self.assertEqual(results[1]['uid'],'2')

  def test_del_item (self):
    item = {"uid":'1', "score":9, "term": u"轻轻地你走了"}
    self.a.del_item (item)
    results=self.a.search_query (u'轻轻')
    self.assertEqual(len(results),1)
    self.assertEqual(results[0]['uid'],'2')
Beispiel #5
0
 def test_initilize_from_filename(self):
     testfile = os.path.abspath('test/input.json')
     a = Autocomplete(filename=testfile)
     a.rebuild_index()
     results = a.search_query(u'你 轻轻')
     self.assertEqual(len(results), 2)
     self.assertEqual(results[0]['id'], '1')
     self.assertEqual(results[1]['id'], '2')
Beispiel #6
0
class testAutocomplete(unittest.TestCase):
    def setUp(self):
        self.items=['{"score": "9", "id": "1", "title": "轻轻地你走了"}', \
                    '{"score": "8", "id": "2", "title": "正如你轻轻地来"}', \
                    '{"score": "8.5", "id": "3", "title": "你挥一挥衣袖,不带走一片云彩"}']
        self.index_mapping = {
            'term': 'title',
            'id': 'id',
        }
        self.a = Autocomplete(jsonitems=self.items, mapping=self.index_mapping)
        self.a.rebuild_index()

    def test_initilize_from_filename(self):
        testfile = os.path.abspath('test/input.json')
        a = Autocomplete(filename=testfile)
        a.rebuild_index()
        results = a.search_query(u'你 轻轻')
        self.assertEqual(len(results), 2)
        self.assertEqual(results[0]['id'], '1')
        self.assertEqual(results[1]['id'], '2')

    def test_search_query1(self):
        results = self.a.search_query(u'你 轻轻')
        self.assertEqual(len(results), 2)
        self.assertEqual(results[0]['id'], '1')
        self.assertEqual(results[1]['id'], '2')

    def test_search_query2(self):
        results = self.a.search_query(u'轻轻')
        self.assertEqual(len(results), 2)
        self.assertEqual(results[0]['id'], '1')
        self.assertEqual(results[1]['id'], '2')

    def test_search_query3(self):
        results = self.a.search_query(u'你 带走')
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['id'], '3')

    def test_search_query4(self):
        results = self.a.search_query(u'你挥一挥衣袖,不带走一片云彩')
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['id'], '3')

    def test_index_mapping(self):
        self.index_mapping = {
            'term': lambda x: x.get('title') + x.get('id'),
            'id': 'id',
        }
        self.a = Autocomplete(jsonitems=self.items, mapping=self.index_mapping)
        self.a.rebuild_index()
        results = self.a.search_query(u'1')
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['id'], '1')
        results = self.a.search_query(u'2')
        self.assertEqual(len(results), 1)
        self.assertEqual(results[0]['id'], '2')
Beispiel #7
0
class testAutocomplete (unittest.TestCase):
  def setUp (self):
    self.items=['{"score": "9", "id": "1", "title": "轻轻地你走了"}', \
                '{"score": "8", "id": "2", "title": "正如你轻轻地来"}', \
                '{"score": "8.5", "id": "3", "title": "你挥一挥衣袖,不带走一片云彩"}']
    self.index_mapping={'term':'title',
                        'id':'id',
                        }
    self.a=Autocomplete(jsonitems=self.items,mapping=self.index_mapping)
    self.a.rebuild_index ()

  def test_initilize_from_filename (self):
    testfile = os.path.abspath('test/input.json')
    a=Autocomplete(filename=testfile)
    a.rebuild_index ()
    results=a.search_query (u'你 轻轻')
    self.assertEqual(len(results),2)
    self.assertEqual(results[0]['id'],'1')
    self.assertEqual(results[1]['id'],'2')

  def test_search_query1 (self):
    results=self.a.search_query (u'你 轻轻')
    self.assertEqual(len(results),2)
    self.assertEqual(results[0]['id'],'1')
    self.assertEqual(results[1]['id'],'2')

  def test_search_query2 (self):
    results=self.a.search_query (u'轻轻')
    self.assertEqual(len(results),2)
    self.assertEqual(results[0]['id'],'1')
    self.assertEqual(results[1]['id'],'2')

  def test_search_query3 (self):
    results=self.a.search_query (u'你 带走')
    self.assertEqual(len(results),1)
    self.assertEqual(results[0]['id'],'3')

  def test_search_query4 (self):
    results=self.a.search_query (u'你挥一挥衣袖,不带走一片云彩')
    self.assertEqual(len(results),1)
    self.assertEqual(results[0]['id'],'3')

  def test_index_mapping (self):
    self.index_mapping={
      'term':lambda x:x.get('title')+x.get('id'),
      'id':'id',
      }
    self.a=Autocomplete(jsonitems=self.items,mapping=self.index_mapping)
    self.a.rebuild_index ()
    results=self.a.search_query (u'1')
    self.assertEqual(len(results),1)
    self.assertEqual(results[0]['id'],'1')
    results=self.a.search_query (u'2')
    self.assertEqual(len(results),1)
    self.assertEqual(results[0]['id'],'2')
Beispiel #8
0
#-*-coding:utf-8-*-
from autocomplete import Autocomplete
import os
import json

testfile = os.path.abspath('licai.json')
a = Autocomplete(filename=testfile,)
a.rebuild_index()
results = a.search_query(u'宝')
a = u'宝'
print a, type(a)
print results
#json_data = json.JSONEncoder().encode(results)
#print json_data, type(json_data)