Beispiel #1
0
class DocumentTest(unittest.TestCase):
    def setUp(self):
        self.l = Library("/tmp/index.test", "w")
        for data in datas:
            d = Document()
            for k, v in data.iteritems():
                d[k] = v
            self.l.append(d)

    def testKargs(self):
        d = Document(name="Bob", score=42)
        self.assertEquals(42, d["score"])

    def testNot(self):
        b = -self.l.get("score", 42)
        self.assertEquals(set([0]), b.results())

    def testAnd(self):
        b = self.l.get("score", 42) & self.l.get("tags", "simple")
        for document in self.l.documents(self.l.query("score:42 and tags:simple")):
            pass
            # print document
        self.assertEquals(1, b.cardinality())
        self.assertEquals(set([1]), b.results())
        for doc in self.l.documents(b):
            self.assertEquals("casimir", doc["nom"])

    def testStart(self):
        self.assertEquals(set([2]), self.l.start("nom", "an").results())

    def testRange(self):
        self.assertEquals(set([0, 2]), self.l.range("nom", "adrien", "brigitte").results())
Beispiel #2
0
 def testReadWrite(self):
     library = Library("/tmp/index_rw", "w")
     self.assertEquals(0, len(library))
     doc = Document(name="Bob", score=42)
     library.append(doc)
     library.warmup()
     library.close()
     libRead = Library("/tmp/index_rw", "r")
     self.assertEquals(1, len(libRead))
     self.assertEquals("bob", libRead.store[0]["name"])
     self.assertEquals(set([0]), libRead.get("name", "bob").results())